SSL: Use same storage for private key on server & client.

Unifying cert handling server vs client. Part 1

There's no need to have separate code for certificate handling
for server and client, since only one of them is activa at a time.
SSL.Constants: Added fmt_cipher_suite().
SSL.Constants: Added some more lookup tables.
SSL.Constants: Added CertificatePair.

Objects of this type will be used to keep track of certificates and
their corresponding keys.
SSL.https: Use add_cert().
SSL: Use CertificatePairs in add_cert().

This is more preparations for supporting multiple certificates.

NOTE: This commit breaks some old APIs, these will be fixed later.
bignum: fix overflow check semantics with clang

The clang builtins for checking integer overflow set the result even if
overflow occurs. Added wrapper functions to make the bahavior
equivalent to non clang builds.
By not exposing the undefined result of the overflow operation,
undefined behavior cannot propagate.
SSL.session: Consider all certs in select_cipher_suite().

It should now potentially work to have multiple certificates,
which are selected based on peer capabilities.