Support using OpenSSL to provide DES functions.

The current code supports two sources of DES: libdes (very old) and
libcrypt (still quite common, thanks to POSIX). OpenSSL implements
libdes compatibility, but only as deprecated functions which may not be
availible.

This change adds an option to use the "modern" (13 year old) OpenSSL DES
functions.