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 keys (and/or any other immutable constraints).