Add WhiteListRoundRobinPolicy and attempt to connect to all contact points

This is another way to address #21, and ultimately [JAVA-145](https://datastax-oss.atlassian.net/browse/JAVA-145)

The `WhiteListRoundRobinPolicy` gets initialized  with a list of "whitelisted" nodes.  A connection attempt will not be made to any node not in the list.  

In addition to that, because the binary protocol has [no knowledge of other hostnames](https://issues.apache.org/jira/browse/CASSANDRA-5899) We should at least attempt to connect to all nodes in the `contact_points` list.

Usage
```python
hosts = ('cassandra1.foo.com', 'cassandra2.foo.com', 'cassandra2.foo.com')
cluster = Cluster(hosts, load_balancing_policy=WhiteListRoundRobinPolicy(hosts))
```