Java 955 - Throw exception when DB name contains spaces
Added Test Cases/ Refractoring
Moved DB Name validation logic / Removed Null check as it already throws NullPointerException
Updated Error Message
optimized imports
Updated Test Cases
Reusing cleanupMongo
Reusing cleanupMongo
Resoved merge conflicts
reverted old test
Deprecating the mapReduce method that takes a DBObject raw command
Cleaning up .gitignore
JAVA-981: Now looking for "code" instead of "errCode" when reporting errors.
Suppressing unchecked warning in DB.
Making MongoClientOptionsTest of defaults more robust.
Removing redundant test that fails when run with --auth on mongod
Merge branch 'java955fix' of https://github.com/mohansingh0141/mongo-java-driver into mohansingh0141-java955fix

Conflicts:
	src/main/com/mongodb/DB.java
JAVA-986: Added MongoClientOptions.toString()
Update .travis.yml
JAVA-1005, JAVA-1003, JAVA-1007, JAVA-1009: Ported PooledConnectionProvider from 3.0.x, and refactored DBPort to work with it by extracting a Connection interface that it implements.  This new connection pool is non-blocking, and supports enforcement of max idle time, max life time, and minimum size.  It also abstracts the JMX monitoring into an implementation of the ConnectionPoolListener interface, which the connection pool fires events to.

Conflicts:
	src/main/com/mongodb/BaseCluster.java
	src/main/com/mongodb/Clusters.java
	src/main/com/mongodb/DBTCPConnector.java
	src/main/com/mongodb/DefaultServer.java
	src/main/com/mongodb/Server.java
	src/main/com/mongodb/ServerStateNotifier.java