Implemented (but have not tested) many copy constructors. Refactored
neighbor tracking to make copying of graphs easier.