error out when config.ciphers is empty
by default, prefer (perfect) forward secure ciphers, but allow all supported ones
introduce type hash
provide get_mac and get_hash, move digest_size around
use hash in configure, instead of Packet.hash_algorithm
provide hash_algorithm_of_tag and reverse functions (mac_tag_of_hash_algorithm, hash_tag_of_hash_algorithm)
use Asn_grammars.pkcs1_digest_info_of/to_cstruct directly instead of using wrappers in crypto now that hashes are real
use hash in SignatureAlgorithms (instead of Packet.hash_algorithm)
adjust test cases for last change
fixes to compile changeset
Merge pull request #189 from mirleft/hash

Hash
clean internally used funs
remove remaining internal hash-module dispatches
remove the rest of internal aliases for hash ops
Core.hash -> Nocrypto.Hash.hash
bonus: remove of_sexp/to_sexp from .mlis

`with sexp` ftw
Merge pull request #190 from mirleft/smoother-crypto

Smoother crypto
describe approach of SNI
adjust interface of configuration
adjust implementation and checks of configuration