Renaming object type from BaseGraph to Graph
Merge branch 'graph' into dev
Moving IGraph into SmartNet.Interfaces namespace
Saving .csproj file
Modifying IGraph for more extensibility and updating DFS and BFS

Methods added to IGraph interfaces:
- RemoveVertex(TVertex vertex)
- RemoveVertices(IEnumerable<TVertex> vertices)
- RemoveVertices(TVertex[] vertices)
- RemoveEdge(TEdge edge)
- RemoveEdges(IEnumerable<TEdge> edges)
- RemodeEdges(TEdge[] edges)

Also changing return types of Tree methods in DFS and BFS classes
Merge branch 'graph' into dev
Merge branch 'dev' into algorithms
Merge branch 'algorithms' into traversal
Refactoring code for traversal algorithms and graph class

Modifications:
- Instead of IGraph<TVertex, TEdge>,now it is IGraph<TGraph, TVertex, TEdge>:
This is for allowing returning TGraph from Subgraph methods

- BaseGraph does not implement IGraph interface anymore:
Now IGraph interfaces is implemented by concrete graph classes

Extras:
Readapting algorithms code for match the above changes
Merge branch 'traversal' into dev
Merge branch 'dev' into graph