JAVA-847: Replaced !String.isEmpty() with String.length() != 0 to remove Java 6 dependency
Changing HashMap to TreeMap in test so ordering of keys is predictable.
Disabling a test in Java 5 because it relies on platform support for MXBeans.
JAVA-820.  Added support for checking of bad keys within documents contained in a List.
JAVA-837: Allow use of "text" command on non-primaries by adding it the list of commands that obey the requested read preference.
Update Bits.java

Reversed the inequality for detecting whether the byte array is large enough.
Added tests for org.bson.io.Bits class. Fix for JAVA-816.
Made org.bson.io.BitsTest class JDK5 compatible
JAVA-401: Catch and log exception on ensuring indices for GridFS collections.  Exceptions can happen if the MongoClient is a direct connection to a secondary, so this can happen under normal circumstances.
Deprecated stuff that would not be included into upcoming 3.0.x