Revert "Remove Diffie-Hellman examples"

This reverts commit bea98b458136029c2585037c74c114ddc5af896e.

Conflicts:
* programs/Makefile:
  * APPS: the layout of the definition has changed. re-add dh_client
    and dh_server appropriately.

Run scripts/generate_visualc_files.pl to account for the added programs.
diff --git a/programs/README.md b/programs/README.md
index 44edd61..d26349d 100644
--- a/programs/README.md
+++ b/programs/README.md
@@ -44,6 +44,8 @@
 
 ### Diffie-Hellman key exchange examples
 
+* [`pkey/dh_client.c`](pkey/dh_client.c), [`pkey/dh_server.c`](pkey/dh_server.c): secure channel demonstrators (client, server). This pair of programs illustrates how to set up a secure channel using RSA for authentication and Diffie-Hellman to generate a shared AES session key.
+
 * [`pkey/ecdh_curve25519.c`](pkey/ecdh_curve25519.c): demonstration of a elliptic curve Diffie-Hellman (ECDH) key agreement.
 
 ### Bignum (`mpi`) usage examples