Push domain object for external builder module

The push object is used by the new builder module to authorize a `git push` over SSH, ultimately replacing gitosis and decoupling the builder from the controller.  

While the builder module is not yet ready, the new `Push` object and tests can be merged into master.

Note this PR also moves a few configuration settings from local_settings.py into environment variables, per 12 factor best practices.  Local settings are still respected, so this should be fully backwards compatible.