PojoCodec can decode a basic Pojo
Added unit tests for Pojo Decoding of primitive BSON types
Started CodeWithScope decoder; split DocumentCodecPerfTest into decoding and encoding perf tests - note these are not symmetrical and the results can't be used to compare encoding vs decoding
Got CodeWithScope decoding working
Added Iterable decoder to be shared between Document and Pojo codecs
Fixed up the tests and refactored the reusable functionality for decoders out
Added a SimpleDocumentCodec.  Still not sure how we are going to reuse some document stuff, and which bits live at the primitive level and which at the highest.
Simplified DocumentCodec further as it can delegate pretty much all decoding to Codecs.
Simplified DocumentCodec encoding, seeing a corresponding improvement in perf results. Codecs now has to handle encoding null
Got the PojoCodecEncodingTests back up and running correctly
Test to drive the implementation of nested object decoding
First pass at complex object decoding.  Even seems to work.
Tidy up / refactoring around Pojo decoding.
Refactoring: simplified PojoDecoder, and simplified the unit tests
Refactoring: more decoding simplification - creation of object instances is now all in a single place.  Allowed me to move all decoding tests into PojoDecoderTest, which is a Good Thing.
Cool generics stuff for the decoder which stops nasty warnings and prevents the need for casting
Moved Pojo encoding functionality into PojoEncoder, so it's more symmetrical with the decoding
Trying to solve the problem of working out when a document is a map and when it's a pojo
Pojo decoder now handles Maps, Sets and Lists.  Not pretty yet.
Updated IterableCodec so that it can return any concrete Iterable, via a CollectionFactory