Add host, port and secure attributes to protocols.

Refs #20.
Reject ws:// URIs with an SSL context.

It seems better to ask for an explicit wss:// URI.

The reverse isn't true: it's reasonable to create a default SSL context
to connect to a wss:// URI when one isn't provided.