Make proxy entry point modularly configurable

This change improves the flexibility of Hydrogen Proxy, allowing for
Hydrogen Proxy to listen on multiple different addresses simultaneously
and also for writing different types of entry points such as
reverse/transparent proxy entry points or adapters from protocols other
than HTTP.

This change alters the structure of settings.py fairly significantly.