Disable SSLv3 for the server connection

Disable SSLv3 for both Net::HTTP and HTTPClient. Committing this as a
quick incident response. Test will be provided tomorrow.
Allow Net::HTTP to disable SSLv3 via SSLContext

Net::HTTP does not have a way to customize SSLContext#options. This
patch allows users to disable SSLv3 via TLS: Thread Local Storage.

Bear in mind that you need to declare this by yourself.
  Thread.current[:SET_SSL_OP_NO_SSLv3] = true

"!SSLv3" in :ciphers disables TLSv1, etc., too so this should be the
only way to disable SSLv3 for Net::HTTP.
Restore TLS value after Net::HTTP request finished

Update based on @frsyuki's review comment for better TLS handling.
Recover TLS value ':SET_SSL_OP_NO_SSLv3' after Net::HTTP request
finished.
Add comment for TLS funny-looking behavior
SSLv3 guard broken in ruby 1.8.7 and 1.9.3

Net::HTTP in ruby 1.8.7 injects params to own @ssl_context instead of
calling SSLContext#set_params.

Also there's a silly bug in custom set_params that does not set
SSLContext parameters properly. I confirmed the fix with
'openssl s_server -ssl3' command, all of 1.8.7, 1.9.3, 2.0 and 2.1.
Test for SSLv3 guard

CAUTION: This commit adds the method API#ssl_ca_file=() for customizing
trusted CA list.

API should connect to TLSv1 only server but not to SSLv3 only server.
Merge pull request #19 from treasure-data/topic_disable_SSLv3

Disable SSLv3 for the server connection