vtls: make the random function mandatory in the TLS backend

To force each backend implementation to really attempt to provide proper
random. If a proper random function is missing, then we can explicitly
make use of the default one we use when TLS support is missing.

This commit makes sure it works for darwinssl, gnutls, nss and openssl.
cyassl: made it compile with version 2.0.6 again

ASN_NO_SIGNER_E didn't exist back then!
cyassl: use the default (weeker) random

I couldn't find any dedicated function in its API to get a "good" random
with.
curl_tlsinfo -> curl_tlssessioninfo
polarssl: provide a (weak) random function

This now provides a weak random function since PolarSSL doesn't have a
quick and easy way to provide a good one. It does however provide the
framework to make one so it _can_ and _should_ be done...
vtls: repair build without TLS support

... by defining Curl_ssl_random() properly
smtp: fixed a segfault during test 1320 torture test

Under these circumstances, the connection hasn't been fully established
and smtp_connect hasn't been called, yet smtp_done still calls the state
machine which dereferences the NULL conn pointer in struct pingpong.
opts: fixed some typos
cyassl: use RNG_GenerateBlock to generate a good random number
cyassl: fix the test for ASN_NO_SIGNER_E

It's an enum so a macro test won't work. The CyaSSL changelog doesn't
say exactly when this error code was introduced, but it's likely
to be 2.7.0.
axtls: define curlssl_random using axTLS's PRNG
ssl: generalize how the ssl backend identifier is set

Each backend now defines CURL_SSL_BACKEND accordingly. Added the *AXTLS
one which was missing previously.
curl_version_info.3: 'ssl_version_num' is always 0

... and has been so since 2005
schannel: use CryptGenRandom for random numbers

This function is available for every Windows version since Windows 95/NT.

reference:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379942.aspx
CURLOPT_HEADEROPT.3: typo: do -> to
RELEASE-NOTES: synced with 7bb4c8cadb5d0
openssl: make ossl_send return CURLE_OK better

Previously it only returned a CURLcode for errors, which is when it
returns a different size than what was passed in to it.

The http2 code only checked the curlcode and thus failed.
FEATURES: minor update
CURLOPT_SSL_VERIFYPEER.3. add a warning about disabling it
HTTP2: Support expect: 100-continue

"Expect: 100-continue", which was once deprecated in HTTP/2, is now
resurrected in HTTP/2 draft 14.  This change adds its support to
HTTP/2 code.  This change also includes stricter header field
checking.