Stop leaking OpenSSL types and defines in the isc/md.h
requested to merge 1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc/md.h-v9_16 into v9_16
The <isc/md.h> header directly included <openssl/evp.h> header which enforced all users of the libisc library to explicitly list the include path to OpenSSL and link with -lcrypto. By hiding the specific implementation into the private namespace, we no longer enforce this. In the long run, this might also allow us to switch cryptographic library implementation without affecting the downstream users.
While making the isc_md_type_t type opaque, the API using the data type was changed to use the pointer to isc_md_type_t instead of using the type directly.
(cherry picked from commit 4e114f8e)
Closes #1672 (closed)