Support GnuTLS as an alternative crypto backend
This turns the -Dgcrypt build time option into a more generic
-Dcrypto option, which enables user to choose which cryptographic
library to link with. It currently supports libgcrypt (libgcrypt)
and GnuTLS (gnutls); for the latter, GnuTLS 3.8.2 is the minimum
required version.
Edited by Daiki Ueno