Settings refactor

Extend settings refactor of the distributed server to the central server code. You'll need to review by commit, as I needed to pull the latest distributed server into the central repo to make this work.

Basic idea is to push settings into each app, and have the project settings.py file use a helper function to pull them all back in. This allows settings to be associated with each app, each app to define dependencies and necessary middleware, and everything be combined automatically for the project.

Testing:
* Tested by running the server; seemed to work well for me!