Adding TLS_FALLBACK_SCSV support

This is an attempt to upstream changes made in Android
for POODLE. I have tried to be more sympathetic here to APIs
and make it optional.

This is early / incomplete, but I'm sending it out for feedback in
case you get a chance to look before Monday.
Fair enough. I didn't want to force that choice on you.

There's a couple of points for why I didn't tackle it as part of this change.

Coming along after this I'll tackle the 3/4-step fallback on handshake failures. A side effect of that change (in Android's version, anyway) is that it won't enable the protocol in the client if it's not already enabled by default. This kind of policy change may be easier then.

If I disable SSLv3 in the client then no current fallback tests will work unless I replace it with something that will. I can change the COMPATIBLE_TLS to be TLSv1.0 instead, but that may not be entirely in keeping with assumptions around what it represents. Guidance requested here on what you'd be happy to accept.

It probably affects more tests.

Depending on the nature of "disabled": I'm not sure whether Android is going to disable SSLv3 support entirely in the future. AOSP now turns off SSLv3 by default and the HttpsURLConnection will only attempt it if somebody is using a socket factory that has it already enabled. There are stats on servers that SSLv3 around, but my thought was that if somebody has a pressing need to use SSLv3 they still can, though the default will be more sensible.