Adding one test for method Edges in DFS.cs
Merge branch 'dev' into algorithms
Renaming methos in DFSTest
Adding BFS class for bfs-like traversal algorithms
Removing ConsoleTest project from this branch
Merge branch 'dev' into algorithms
Removing ConsoleTest project from this branch
Merge branch 'dev' into traversal

Conflicts:
	Code/SmartNet/Algorithms/Traversal/BFS.cs
Merge branch 'dev' into algorithms
Merge branch 'algorithms' into traversal
Change dictionary for set in code implementation of dfs traversal
Implenting BFS of vertices and creating first test

Methods:
- IEnumerable<T> Vertices<T>(...) in class BFS

Test:
- FromEndOfPathGraph
Adding BFS method for returning graph edges

Method:
- IEnumerable<T> Edges(..)

Adding more test for BFS for vertices and first test for BFS for edges

Tests:
- BFSForCycleGraph
- EdgeBFSForPathGraph
Adding test for Edges method in BFS class and fixing a bug

Bug:
Missing the mark of the first vertex of the algorithm

Test:
- EdgeBFSForCycleGraph()
Merge branch 'dev' into algorithms
Merge branch 'algorithms' into traversal
Refactoring method for dfs.

Now for:
Vertices(Graph<T> graph) -> returns a dfs for entire graph (a forest if graph is not connected)
Vertices(Graph<T> graph, T vertex) -> returns a dfs for all the vertices reachable from source vertex
Adding Tree method for DFS class and his first test

Method:
Tree(Graph<T> graph) -> Graph<T> where this is a forest resulting of applying dfs algorithm to incoming graph
Tree(Graph<T> graph, T vertex) -> Graph<T> where this a tree graph by doing dfs starting from vertex and keeping only those vertices that are reachable from incoming vertex
Adding test for creating tree from graph and vertex source

Method:
- Tree(Graph<T> graph, T vertex)

Test:
- DFSTreeFromVertex
Adding Tree method for BFS class

Method:
Tree<T>(Graph<T> graph, T vertex) -> Graph<T> where this graph is tree representing all reachable vertices from vertex in BFS algorithm