Fixed a pluralization issue
Fixed a spelling error
Added a method to the interface to determine if an Edge is a loop for a
given Vertex
Created abstract definitions for Graph and Edge
Added isDirected to Edge
Added a protected constructor to AbstractGraph for completeness' sake
Added "Standard" implementations where an edge connects two vertices
Refactored the add and remove method names to reduce redundancy
Added a basic implementation for isLoop. It won't work for the
StandardEdge, but that's fine since it already redfines its own
Added Hyper implementations