Add and Initialize Graph in Neighborhood

Updated to use the simple graph found at interactivepython. Modified the graph to use a key value pair of block.location => Vertex(block) to make it easy to get a vertex and then check its connected nodes.