Support TLS, dynamic listeners and encrypted storage

Checking this in seems like a bad idea. Can we either dynamically generate it or read it from an environment variable?