Removed all synchronous methods from Connection
Added QueryResult#empty?
Removed the bang from Cluster#execute, #prepare and #use
Added Future#map
Implemented Future#map
Using Future#map to clean up Cluster#execute_request
Implemented pre-completed and pre-failed futures
Using Completed/FailedFuture to clean up in Connection
Non-blocking connect!

Everything just got a lot quicker
Throwing Connection away in favour of a raw IO reactor
Throwing Connection away, Cluster now works with IoReactor directly
Fixed a bug in (Completed)Future#map
Better error handling in IoReactor
Added specs for IoReactor#queue_request
Added a pending spec for IoReactor#add_event_listener
Added support for multiple connections in Cluster
Added SchemaChangeEventResponse#eql? and #hash
Added a spec for IoReactor#add_event_listener
Added ReadyResponse#eql? and #hash
Rewrote the fake server helper

* Can start multiple servers
* Handles multiple connections better