Add support for handling start/stop of generic services.

Improves HTTP(S) shutdown logging.
Move TLS config setup out of runtime.go.
Refactor to extract container implementation from runtime implementation.
Time out after 5s when stopping services rather than blocking forever.
Support reloading server configuration on SIGHUP.

Services which implement Reloadable will be notified.
Improved reload logging.
Stop services in reverse order.
Publish lifecycle hook interfaces.
Expose getter for float64 config items.