SSL: KeyExchange protocols may need the connection object.

Information from protocol extensions are often connection
specific, and thus stored in the connection object.

Note that this introduces a circularity that needs to be broken.
We break the circularity on error and when a master key has
been successfully negotiated.
SSL: Added some constants from RFC 4492.

Also adds some related low-level support for ECC key exchanges.