Design a Graph class. This class will be used to help implement the shortest paths algorithm.
Example methods you need are: copy constructor, default constructor, destructor, assignment
operator, get neighbors (you may or may not need others). This interface defines an "abstract data
type" for a graph.