Support TLSv1-only servers
Perform TLS handshake during connection setup

This catches fatal TLS handshake errors earlier which makes the stack traces
more logical. Without this, the handshake would be performed when the output
stream is written.
Workaround for Java bailing out on TLS warning due to SNI

Java 7 supports the SNI extension and sends the host name in the `server_name`
extension. Some misconfigured servers (Apache only?) that support SNI send an
"Unrecognized Name" warning that kills Java 7. Oracle engineers refuse[1] to
fix this error that is not as rare as it sounds[2].

According to RFC 3546 (TLS Extensions) [3], servers *should* send the
unrecognized_name alert which *may* be fatal. In practise, clients just ignore
this (tested with wget, curl, Firefox, Chromium).

This patch makes Webscarab perform a second connection attempt without a Host
header (effectively disabling SNI), when the exception message indicates that
the "unrecognized_name" alert was received.

Tested with https://redhat.com/ and https://webmail.arago.utwente.nl/.

 [1]: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7127374
 [2]: http://stackoverflow.com/q/7615645/427545
 [3]: http://www.ietf.org/rfc/rfc3546.txt