This changeset is a complete refactor of the mapping layer to make
sure that _class complex type mapping works. It also decouples
the actual JSON mapping and abstracts it into a CouchbaseDocument
mapping. This ensures forward compatibility by potentially swapping
out JSON to a different format.
This changeset implements basic view support for both the CRUDRepository
and the underlying template imeplementation. Note that customization is
currently missing, we'll provide a @View annotation that lets you
customize behavior.