Cleaning FindBugs errors
Implemeted 'listDatabases' command
Added report from clirr to have an overview of work
Made all com.mongodb.MongoClient constructors public. Implemented Mongo.dropDatabase().
Fixed typo in method name
Restructured code to better support sending multiple messages in a single socket packet
No longer Serializable, until needed.  Have to wait until ServerAddress is Serializable.
Added Javadoc on the class
Fixed isMulti for remove operation.  It was always removing just one.
Fixing FindBugs warnings.
Fixing more FindBugs warnings.
Removing morphia.  It's going to live separately from the driver
Added DBEncoder and DBDecoder interfaces, and a Serializer<DBObject> implementation that uses them.
Added DBEncoderFactory and DBDecoderFactory interfaces
whitespace
Removed temporary DBEncoder/Decoder class from IDB interface, now that we have them for reals
Excluding a findbugs warning about exposing internal representation.  We need to do in this case to avoid copying the buffer, as this class is just a thin wrapper on top of a byte array.
Added a comment about buffer ownership
Simplified the build script now that morphia is gone.
Using entrySet instead of keySet... and we are not findBugs clean!
Abstracted ReplicaSetMongoConnection into two classes and an interface:  The interface is MultipleServerConnectionStrategy and the implementation is ReplicaSetConnectionStrategy.  ReplicaSetMongoConnection is now MultipleServerMongoConnection, which delegates to MultipleServerConnectionStrategy the task of choosing the address of the primary (for writes) or whichever server should handle the given read preference (for reads).

This paves the way for a MongosSetConnectionStrategy class.