Switch from Net::HTTP to HTTPClient (keepalive!)

HTTPClient was chosen primarily because the persistent connections can be used safely across threads. This is a major advantage in for example a rails app where each incoming HTTP connection is handled in a new thread.

This will reduce POST times by 1 round trip even in the case that connections are not reused: Net::HTTP sends post requests in two TCP packets, waiting for the TCP ack before sending the second packet (because TCP_NODELAY is not set) - this is obviously crazy.
Documented how to avoid SSL verification

Shouldn't be necessary, but since the previous version didn't verify…

No need for the default_client to be private
Refactor Request

Fixed an unimportant bug where Content-Type was set for async get requests
Fixed all the non-spec ruby warnings
Fix travis build
Allow async requests without eventmachine
Make new tests more robust (travis was failing...)
Allow connection timeouts to be configured (and set 5s default)

Default changed to 5s: This is a reduction from the default timeouts for both Net::HTTP and HTTPClient, but should be more appropriate for Pusher API requests which should complete in << 5s.

em-http-request timeout was set incorrectly previously.

Closes #44
Catch ECONNREFUSED: not caught by HTTPClient
Improve error message when em-http fails
Merge branch 'use_httpclient'
Update bundle and fix rspec deprecations