Add tests for Compare.
Bring GraphFactory back and make Graph API expose open().

Enforce open() override with tests.  Enforce private constructors for Graph implementations.