disallow mixing protocols in net.listen()
Due to our reuseport facility, it is possible to use `net.listen()` to bind multiple protocols to a single (ip, port) combination. I can't think of any valid use-case and the most likely cause - typo - will cause misbehavior instead of a crash.
```
-- this isn't valid or supported
net.listen('::1', 443, { kind = 'tls' })
net.listen('::1', 443, { kind = 'doh2' })
```
I think the resolver should crash in these cases.
issue