Pluggable mechanism for obtaining connections to Cassandra.

The changes introduced with this fix include:
- Introduction of CassandraConnectionFactory, responsible for creating Cluster.Builder, Cluster and Thrift client objects.
- Adjusting CassandraConnector and CassandraConnectionConf to the new interface.
- Ability to specify custom CassandraConnector when creating CassandraRDD and CassandraStreamingRDD.
- Updated tests and docs.

Fixes #192.
Merge pull request #294 from datastax/wip-192-pkolaczk

Pluggable mechanism for obtaining connections to Cassandra.