DH key interfaces

Adds the DH*Key interfaces and docs.
Should this be called "KeyExchangeAlgorithm"?