Use `ListenAndServeTLS`, not separate `listenTLS` and `Serve` in snowflake-server
Port these two patches from meek-server to snowflake-server:
- Use ListenAndServe{TLS} rather than separate Listen and Serve.
- Wait briefly after calling ListenAndServe{TLS} to see if it errors. This way, we automatically get support for HTTP/2 and whatever TLS settings Go configures by default, rather than copy-pasted settings from some previous version. The only thing we lose is the ability to run a server on port 0; i.e. a random ephemeral port.