Wip mitosis breakout compiler utils

I can squash this down and will be updating it periodically throughout the day, but thought I would post for early review. 

This breaks the dependency between `parse` and `agent` cause by `CompilerUtilities` (the trait formerly known as `FrontEndExtras`). It should be noted that a test-time dependency still exists between `parse` and `agent` due to `TestLiteralParser`, but that is somewhat beyond the scope of this PR and should probably have a separate todo created for it on the compiler refactor wiki page.