Add support for ECDH (from RFC 5656).

Fixes #6.

Currently, only the nistp256, nistp384 & nistp521 curves are supported.
Support for alternate curves (like curve25519) is planned (see #12 for
more information).