SSL: unify the different implementations signature check implementations

ssl_handshake and ssl_connection where doing essentially the same when
checking a public key signature. This unify both into a single function
SSL: simplify server key encoding, decoding and signature handling

server key encoding depends to the negotiated key exchange. Before
the encoding was limited to diffie-hellman keys. This changes allows
to select the key structure to decode and verify. It also consolidates
the transport encoding of the parameters into one place.
SSL: add TLS PSK (RFC 4279 and RFC 5487) cipher suites
CRYPTO: add support for RFC-2945 SRP-3 and RFC-5054 SRP-6a authentication
SSL: add TLS-SRP (RFC 5054) cipher suites
SSL: add tests for PSK and SRP ciphers
SSL: enable hash_size values for sha224, sha384 and sha512

Some of the PSK and SRP ciphers default to sha384, this enables
hash_size for that cipher. It also adds sha512 and sha224 to be
prepared for further cipher enhancements.
SSL: add documentation for PSK and SRP ciphers options