Add KeyTransformDict and ElementTransformSet and use them to simplify IDirectedGraph and ObjectGraph.  Some test failures remain.
Fix failure in AnnotatedGraph.
Add edges property to IDirectedGraph.
Fix owned_objects.
Add vertex_set and vertex_dict methods, to be overridden by subclasses.
Add a default factory to the KeyTransformDict.
Cosmetic: move vertices and edges properties further up for ease of reading.
REF: Clean up annotation handling code.
Add missing slot.
Python 3 fix.
Remove unused cached_property class.
Improve test coverage; fix bug where failed lookups returned the transformed key instead of the original.
Remove excess blank line.
Test for AnnotatedGraph.edges.
Rename complete_subgraph_on_vertices -> full_subgraph.
Merge pull request #15 from mdickinson/refactor

Refactor internals.