(cleanup) breaking out compressor from conn
Changed the reconnection logic to reduce the flood of reconnects. Also fixed incorrect keyspace on CreateSession.
Added code to debounce requests to fillPool when calls are in a tight
loop. Cleaned up code that was commented out in the first commit.
Adjusted error message in TestInvalidKeypsace test case.
(cleanup) move shouldPrepare func to being a Query type method
Merge pull request #147 from harpreet-sawhney/master

(cleanup) breaking out compressor from conn
un exporting the shouldQuery method
fixed test to use un exported shouldPrepare
Merge pull request #150 from harpreet-sawhney/remove_should_prepare

(cleanup) move shouldPrepare func to being a Query type method
Merge pull request #149 from phillipCouto/cleaner_reconnect

Changed the reconnection logic to reduce the flood of reconnects.
Use better error messages instead of ErrUnavailable

When a session is closed it should not be possible to execute queries,
the error message for this is distinct to a live session which has
not connections.

If a live session has no available connections then indicate that
instead of the generic ErrUnavailable.
Use defer to unlock in session.go