Build models from attributes

Using `findOrCreate` for fixture creation disables the use of
`setterMethods` during model construction. This change relaxes
restrictions on the presence/absence of model attributes and uses
`build` to ensure that `setterMethods` can be involved when
fixtures are created.

This can wreak havoc if attributes of an existing fixture are
updated outside in the database since the last load. If possible,
we should construct the `where` only for primary-key constraints
(etc).