HTTPS support

The certs need to use `process.env.HOME`, whereas `0` might be a sensible value for the ports (bind to any available port). Of course, if `0` is used, the actual server would need to be queried for what the port ended up actually being (instead of querying the config).