Add initial tests for topo sorting
Make note of where one problem with phase ordering happens.
Add new "utility" phase which runs outside of normal phases.
Update tests for topo sorting