Changed Model.field so attribute name is used if none is provided

Model.field now returns a FieldPrefab object with the provided values. This is passed into the original field implementation, _field at __setattr__ time