Add periodic node discovery with optional filters

Add support for periodic node discovery via system.peers.
Pass by HostInfo instead of the peer address

Pass the full HostInfo to the connection pool after getting new
hosts, with the caveat that seed hosts wont have valid host info.
remove SimplePool.newConn
Log errors when describing the ring
Fail fast if no seeds are available
Only set the hosts if the ring describer didnt error
Merge remote-tracking branch 'Zariel/cluster-ring-discovery' into cluster-ring-discovery
Introduce expectation for the cluster size
Set the discover hosts flag when trying to discover hosts
Merge MASTER into cluster-ring-discovery
Fix prepared statement caching bug.

It wasn't caching the prepared statement by keyspace, so if you performed
identical queries on two different keyspaces, it would use the prepared
statement from the wrong keyspace (and end up querying against the wrong
keyspace).

I added a "currentKeyspace" field to the Conn struct so the statement caching
code has it available to use as part of the cache key.
Merge pull request #222 from retailnext/fix-stmt-cache-key

Fix prepared statement caching bug.
clusterSize flag is actually a pointer
Re-order ccm commands
Merge pull request #231 from relops/ccm_timeout

Re-order ccm commands
merge upstream/master
Use first provided host
Wait for the pool to settle
Make pause for autodiscovery configurable via a flag
Disable autodiscovery tests for Cassandra 1.2.x