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.
Still not right.  The decision on whether to allow pinning is based on who is asking, not whether this is an instance of Mongo or MongoClient.  If MongoDatabase/MongoCollection is asking, it should not pin.  If DB/DBCollection is asking, it should.