Modified graphs.py and search.py

Fixed rand_node() in graphs.py
Modified bfs() to return explored edges
Modified path-finding methods to use edges (rather than the string
tuples used for testing)