Providing meaningful error message if you forget many=True. Closes #1914.

This addresses #1914.

We check the instance for beeing either a `list`, `tuple` or `QuerySet`. That should address most cases. We cannot use ducktyping by checking for existence of `__iter__` or similiar things. This would include too many kind of objects e.g. `dict`s  are perfectly fine non-many objects.
Seems good enough yes.