More complex find

Using case classes for mapping

There is no magic involved here. You have to manually define implicit converters which convert either a BsonElement or a
BsonDoc into whatever you want. This was a clear decision in the beginning that we wanted to have manually mappings as we
tend to define short keys (to save space) in our docs or do other conversion stuff.