AdjList: Added check for edge that doesn't exist, Added BFS, DFS, shortest path, test to determine if graph is a DAG