Start adding checks against overwriting existing fields.

When a field is replaced by a translated model, the original field is
still being requested by the ORM. This causes the value to be passed
to `Model.__init__()` in either the `args` or `kwargs`,
invoking `setattr(self, field, value)` which sets a translated field.

This imediately causes a query for the translated fields model on init,
which is not desired. Since the `QuerySet.iterator()` only sets
`model._state.adding = False` after creating the object first,
the `_get_translated_model()` code can't reliable fetch a model.

For now, block the assignment of translated fields by
`Model.__init__()` so this error doesn't pass silently anymore.

Inspired by PR #39
docs: explain migrating fields, and mention that replacing fields is not possible.

Inspired by PR #39 from @benjaoming