Use interfaces for most main object to faciliate testing/mocking

JAVA-195 #fixes
Merge branch '1.0' of https://github.com/datastax/java-driver into 1.0
Document that null values are not supported in collections
Undeprecate BoundStatement
Merge branch '1.0' of https://github.com/datastax/java-driver into 1.0