Beginning the refactoring of Config.

Reducing the responsibilty of Config instances - a separate class will
handle loading and modules.
Updating ConfigTest and save behavior.
Moving Config out of the Core namespace.
Running Config and test through php-cs-fixer.
Adding Config#getRootDirectory().
Adding Config#getName().
Adding config test fixtures.
Adding a NeptuneConfig class for configuring Neptune specifically.
Adding ConfigManager to handle all configuration.
Updating Neptune to use new Config classes.
ConfigManager sets root dir of Config instances.

This is necessary for Config#getPath().
Updating AbstractFactory for new Config.
Updating CacheFactoryTest for new Config.
Rewriting Url to not use Config.
Updating config usage in Assets.
Router instantiation is a function.
Updating EnvListCommandTest for new Config syntax
Updating AssetsController and test.
Not configuring EventDispatcher until boot() in Neptune.
Updating DatabaseFactory and test.