http: allow createServer() to return a HTTPS server

This commit allows the `http` module to create a HTTPS server if TLS options are passed to `createServer()` or the `Server()` constructor.

As pointed out in #8670, this is a convenience that is backwards compatible. People generally seemed to be in favor of this change (myself included), so I decided to PR it. However, I can also see an argument for this as a userland module. I'll leave it up to the maintainers to decide.

Closes #8670.