First pass at EncodingRegistry
Build will now work offline
Basic translation of org.mongodb.MongoException to com.mongodb.MongoException in driver-compat.  Most cases caught and tests created for DB, Collection and DBCursor cases.
Exception mapping added to DBObjectCodec.  Only took 3 days to track down a tiny merge error that involved accidentally deleting a vital line of code...
Update README.md
chore(*) remove gradlew.bat to fix line endings
JAVA-805: Make cluster state observable via a change listener.  Care had to be taken to fire the change events outside of a lock, in case a change listener does not complete quickly.
Further testing of DBObjectCodec
Cleaned up tests for drop (collection and db) - created a better test for drop collection and removed old one from *OldTest
fix(bson) set correct BSONBinaryReader into correct state after piping nested document to BSONBinaryWriter
refactor(driver) narrow type from Codec<T> to Decoder<T> when getting decoder for a field
fix(driver-compat) make DBCollection to use provided decoder factory for findAndModify command
fix(driver-compat) support decoder factory in DBCursor
first iteration on the new fluent api spec.  It supports the CRUD operations,
but still missing is:
1. many of the query special fields
2. batch update/remove
3. aggregation
Renamed *Stream classes to *View
Fixed up names of query option methods on MongoView