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
SSL: run OpenSSL tests only on cipher suites supported in OpenSSL

Erlangs SSL app can in some cases support more TLS cipher suites
that the underlying openssl version itself. So when running the
openssl connection tests we need to consider not only our own
capabilites, but openssl's as well.
CRYPTO: add algorithms/0 function that returns a list off compiled in crypto algorithms

add algorithms/0 function that returns a list off compiled in crypto algorithms
and make tests suites with SHA226, SHA256, SHA384 and SHA512 conditional based
on that
SSL: replace sha256_mac() tests with crypto:algorithms()
CRYPTO: add support for Elliptic Curves to crypto app
PUBLIC_KEY: add support for Elliptic Curves to public_key app
SSL: filter TLS cipher suites for supported algorithms
SSL: add Elliptic Curve support for ssl app
SSL: add Elliptic Curve ciphers unit tests