Refactor and document the runtime configuration

We store the runtime configuration in a ETS table, that supports relups and a nifty mechanism for caching. This new configuration can be accessed via `YourApp.Router.config(key)`. `Phoenix.Config` has become private API.