Scoped IO reactor specs for better output clarity
Better error message on connection timeout
A missing cleanup in CommandDispatcher
Finally moved NodeConnection to its own file
Big refactoring of the IO reactor

Merged IoReactor and CommandDispatcher
Cleanup in the IO reactor

Re-introduced the control socket again, but as a dumb object instead of the smart object that CommandDispatcher was.
Cleanup in the IO reactor

Avoiding to create an unnecessary array
Reverted the order of operations in a spec back to what they were before the refactor
Protocol support for authentication
More fine grained code coverage grouping
Marking auth integration specs as pending if C* does not require auth
Replaced Client#start! and #shutdown! with #connect and #close

Also added Client.connect as a shorthand for Client.new.connect
Implemented authentication support in Client

Also made the integration test suite runnable whether or not authentication is turned enabled in Cassandra.
Encoding strings first makes sure the value is a string