Replace project_settings with providers.

Replaces dependency on the `project_settings` module and allows modules to be configured with a provider.
@perry Now you have removed `PROJECT_SETTINGS`, where do the config values get passed into the provider? is it in the app.run for the app module? Are project overrides still stored in a config file?