Fully functional topologically sorted graph
Fix util tests
Move existing graph impl under legacy

TODO: Refactor legacy into usable graph implementation that allows for arbitrary
cross-referencing.
Add licensing to descriptor
Add tests for graffiti.utils
Move descriptor to core

Rebuild Graph class to have feature parity with legacy.Graph