Fix regression with Model instantiation

We need to pass the class, not an instance, to check_registration, but I
neglected to address that when moving the check_registration call inside
of Model.__init__. This bug was masked by a bug in check_registration
itself (variable clobbering in a loop).
Enable models to be registered for multiple types

This addresses the underlying concern on #22, though in a different way
than is suggested there. The common case is registering for a single
type, and that is what MyModel.typname is intended for. If you want to
get fancy then use register_composite with a typname kwarg.