Config v9.0

Summary:
This (umpteenth) rev of our config aims to solve a few
issues with the current config -

1. inbox-auth and inbox-start may use different configs.
In particular, we can't use a custom config with inbox-auth.

2. The use of the INBOX_ENV env var is fraught with peril in that
we must remember to change it when needed and forgetting to do so
can have messy consequences. This was especially true when we had
a secrets config file too.

3. config.config is modified by code outside config.py
(e.g. load_overrides())

4. config.config is set implicitly at module import time, so
the order of imports have to be reasoned about.

The proposed rev favors explicitness, the primary changes are:

* Deprecate the use of INBOX_ENV. Instead use the --env
flag to explicitly declare the config to use.

* All our server scripts accept the --env, --config flags
(where --config specifies the path to a custom config file that
may override all/part of the base config as before.).
This allows inbox-auth, inbox-start to use the same config for example.

* config.config is set by an explicit call to load_config().
It is set once by the "entry points" (for e.g. the server scripts) and
is simply imported as before otherwise.

* Configuration directly loads file + creates config dict.
Introduce ConfigurationManager.

Also, a read: http://vladikk.com/2013/05/14/uncoupling-configuration-files/

Test Plan:
Sync works.
No test regressions.

Reviewers: spang, emfree

Reviewed By: emfree

Subscribers: dlitz

Differential Revision: https://review.inboxapp.com/D431