JAVA-1332 with minimal Async changes.

I removed the larger async changes from #19 as it seemed to get in the way of the review and the updating of async/rx is best done once the apis are solidified.
I don't like this signature for a method on Database.  The first parameter should just be the collection name, since the database name is implied by the instance.  Alternatively, and probably better, is to follow the shell and put this method on MongoCollection