Added some documentation. bfs now has a wrapper that prints out the paths nicely and will return all paths instead of the first one.