Adjacent vertices:  New structure containing the adjacent vector per vertex.

Refactor some code making the vertices an abstract type. i-e
std::vector<contained_type> where contained_type is a template.