First cut at a true polymorphic serializer.

Lots of nasty techniques here, most of which are, alas, unavoidable.
Plenty of apologies to match them.

The tests included are fairly basic; there are various cases not
considered yet, e.g. playing well with mixins. But it is enough to
realise what a monstrosity such an approach as this is is! There are
probably not enough assertions littered about the place, which can lead
to really gnarly errors popping up in the wrong places if you do
something just *slightly* wrong.

Doubtless in a month's time I will fully repent of this code.
Document things.
Split cqrs.mongo into appropriate modules.

These are:

- cqrs.models
- cqrs.settings
- cqrs.serializers
- cqrs.mongo (the Mongo-specific parts stay there)