Pass in cluster to create Cassandra

Allow a cluster to be passed in when creating the Cassandra object. This allows users to specify a lot of other options (authentication, compression, etc) outside of the metrics-cassandra library. Move reconnect attempts into creation of cluster. I debated creating two static factory methods that could call the came constructor but went this route to maintain backwards compatibility. 
Oh, that's not true. It's called in `send()`.  The failure needs to be handled in that case.