Set timeout on socket so that it won't get stuck forever.

Twice in the last 2 months, we encountered problem where all sidekiq threads
get stuck forever in:

    Thread TID-ose5dcr5w
    /home/ubuntu/.gem/ruby/2.0.0/bundler/gems/APNS-b536ee784ba2/lib/apns/core.rb:86:in `connect'
    /home/ubuntu/.gem/ruby/2.0.0/bundler/gems/APNS-b536ee784ba2/lib/apns/core.rb:86:in `open_connection'
    /home/ubuntu/.gem/ruby/2.0.0/bundler/gems/APNS-b536ee784ba2/lib/apns/core.rb:32:in `send_notifications'
    /home/ubuntu/.gem/ruby/2.0.0/bundler/gems/APNS-b536ee784ba2/lib/apns/core.rb:28:in `send_notification'

This change uses the option added in https://bugs.ruby-lang.org/issues/5101.
Need to use `Socket.tcp` instead of `TCPSocket.new` as the proposed API change
for the latter didn't materialize.

Possibly related:

https://github.com/ruby-amqp/bunny/issues/79
http://stackoverflow.com/questions/11835203/openssl-ssl-connect-blocks-forever-how-to-set-timeout