Implement Depth-First-Search algorithm

Recursive implementation of DFS

The expected input:
	-graph represented as a adjacency list
	-starting node (vertex)

Ouput:
	-path to all other nodes
Add error-checking for not present node in graph

Also included unit tests for not present node in graph
Merge pull request #39 from lcheung90/dfs

Implement Depth-First-Search algorithm