can.Model.model attribute serialization fix

Instead of checking instanceof, just check if it's something with a
serialize function attached to it. This allows can.Model.model to
accept can.Observe (and anything else that's "serializable").

This does have the side-effect that "serialize" becomes a reserved
property, but there's other parts of canjs where this happens, such as
can.Observe#bind

Fixes #444
Merge pull request #449 from bitovi/model-serializables

can.Model.model attribute serialization fix