Wip mitosis breakout compiler utils

I can squash this down and may make a few more tweaks 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`).

In case I'm not around to discuss the changes at the next compiler improvement session:
* Extract methods of `FrontEndExtras` to `CompilerUtilitiesInterface`. This encapsulates methods that are called on the compiler at runtime which are *not* an end-to-end compilation request. This boils down to various forms of literal parsing, plus `isReporter`. The name kind of sucks, but the functionality isn't really cohesive. `FrontEndExtras` was renamed `CompilerUtilities` and moved to its own file.
* Add a `utilities` method on `CompilerInterface` for access to this functionality and update various references from `compiler.frontEnd` to `compiler.utilities`. This is really only a small win, but it means that we have a more minimal surface area for the compiler front end interface. It might be better to have the compiler implement the `CompilerInterface` methods, even if it only delegates them to `CompilerUtilities` just to have fewer Law of Demeter violations (this occurs in about 5 places in the code).
* Decouple `LiteralParser` and `LiteralAgentParser` (slightly)
  * Push final instantiation of `AgentParserCreator` into `LiteralParser`. This was to prevent needing an object with two lazy vals just to instantiate the pair.
  * Added a companion object `agent.AgentParserCreator` which adheres to a type alias of the same name in the `api` package. Aside: It would be better not to have type aliases, but the signature needed to pass in `agent.AgentParserCreator` would be something like ``` World => ((Token, Iterator[Token]) => AnyRef) => Iterator[Token] => AnyRef
``` which causes virtually any line containing it to go past the scalastyle threshold. I'm pretty sure that this type signature is the reason Seth and I got stuck last week. It seems like a Law of Demeter violation (but of a more functional sort); its something to eliminate when we're in the "make it pretty" stage of refactoring.