Enable injection of custom TCP/SSL socket classes.

Twitter::Streaming::Client class now accepts custom TCP/SSL socket
classes. It passes those along to Twitter::Streaming::Connection.

It's possible to inject non-blocking sockets this way, which in turn
makes it possible to use Twitter::Streaming funcitonality with
Celluloid. The Connection class blocks the Actor's mailbox otherwise.
Enable injection of custom TCP/SSL socket classes.

Twitter::Streaming::Client class now accepts custom TCP/SSL socket
classes. It passes those along to Twitter::Streaming::Connection.

It's possible to inject custom sockets this way, which in turn
makes it easy to use Twitter::Streaming funcitonality with
Celluloid::IO.

Celluloid's Socket classes support both blocking and non-blocking
operations.

https://github.com/celluloid/celluloid-io/wiki/Using-Celluloid::IO-with-existing-Ruby-libraries
Proper rspec matchers used in specs.
RuboCop's suggestions implemented.
Merge branch 'injectable_connection_sockets'

Conflicts:
	lib/twitter/streaming/connection.rb
	spec/twitter/streaming/connection_spec.rb
Changed names of *_socket_klass to *_socket_class.
Merge pull request #546 from neektza/injectable_connection_sockets

Enable injection of custom TCP/SSL socket classes.
Fix RuboCop offenses introduced in version 0.19.0
Update http dependency to ~> 0.6.0
Ensure predicate methods return false for Twitter::NullObject
Replace Faraday with the HTTP gem
JSON keys are parsed into strings, not symbols