SSL.ServerConnection: Improved protocol fallback.

Some cipher suites have been removed in later versions of TLS.
If the client and server versions both were recent, but had
no common ciphers that weren't removed in the negotiated
version of TLS, the handshake used to fail. Now we instead
try downgrading to older versions of TLS to see if there's
a common implemented suite then.

This fixes one of the common reasons for clients attempting
protocol downgrades on connection failure.
Show the #require documentation.
CPP isn't applied to the doc extractor.
Removed unused function.
pgsql: Further finetuning, fix normal query() race condition, thread safe.

Make the result object threadsafe (e.g. calling fetch_fields() and
fetch_row() simultaneously from multiple threads on the same result
object is supported).
Changed some malloc to calloc.
pgsql: Support PostgreSQL 9.4 authentication quirks.