Also changed the way neighbors are handled.  Now uses a hashmap of vertex (vertex, edge) types.  This is so we can grab all the neighbors of a vertex, but also see the edge connecting them easily.