Fix nested fields: set 'owner_model' and honor 'serialize_when_none'

This patch fixes an issue where `ListType` and `DictType` failed to
consult their inner fields on whether the nested items should be
serialized when None. The attribute on the container was applied
to the inner field as well.

Additionally, nested fields did not have their `owner_model` attribute
set and therefore `allow_none()` wouldn't have worked correctly
even if it were called. This is also fixed.
Merge branch 'compound-allow-none'
Support for polymorphic model fields

* New type PolyModelType supports import conversion into one of
a number of model classes based on what the data looks like.

Accompanying features:

* Field objects have a new attribute 'name' reflecting the name
under which they appear within their models.

* Each model class now contains a registry of its subclasses,
accessible via the attribute `_subclasses`.
Added 'allow_subclasses' keyword option
PolyModelType final commit