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.
@tomchristie what do you think, is this the only place we need to catch the exception? The other usage of `to_representation()` is in `ListSerializer.get_initial()`, but if you have already a `ListSerializer` than you already did take care of `many=True`.