Merge pull request #57 from jedws/encoding-concurrency

Encoding concurrency
2.9.2-SNAPSHOT prep
JAVA-656: Don't checkMaster on slaveOk queries
JAVA-658: Making ReadPreference.primary == ReadPreference.primary() so that it's safe to do equality comparision
JAVA-652: Synchronizing on correct object in close method
JAVA-660: Took call to OutMessage.doneWithMessage out of the recursively-called method, to avoid having it called more than once.  Protected OutMessage by setting the buffer to null and checking for null everywhere it's used.
JAVA-666, JAVA-641: Created two subclasses of DBPortPool: MongoConnectionPool and Java5MongoConnectionPool.  The former is an MBean and the latter is an MXBean.  When creating a DBPortPool, conditionally create one or the other depending on whether java.version system property indicates that this is a 1.5 virtual machine.  This should avoid JXM registration errors when running on Java 5 VMs. Also, by using MongoConnectionPool as the name of the MXBean, avoids incompatibilities in JMX implementations that require the MXBean name to be the same as the MXBean interface that it implements (minus the MXBean suffix).
Added serialVersionUID to MongoInterruptedException
JAVA-641: Added MongoOptions property to control whether driver always uses MBeans.  The default is false, in which case the driver will use MXBeans on Java 6 or greater
JAVA-641: Updated exception error message for JMX registration to point people to MongoOptions.alwaysUseMBeans property
Preparing for 2.9.2 release
Updating version to 2.9.3-SNAPSHOT
JAVA-680: Fixing a regression introduced in the previous commit for this issue. In the case where the driver
is not connected to a replica set, like in mongos HA, still may need to ensure there is a master
Preparing for 2.9.3 release
Updating to 2.9.4-SNAPSHOT
Preparing for 2.11.0 release cycle
Updated Mongo class to next release
JAVA-691: Added support for GSSAPI authentication over SASL-based Mongo commands.
JAVA-691: Always acquire write privileges for now.
JAVA-691: Changed SaslAuthenticator so that it is able to re-authenticate if the connection is broken.
   Improved thread safety of DBPort class with use of volatile and AtomicLong