prefetch_related causes api to return outdated data

When issuing a PUT request on a prefetched field, the old data is returned.

A failing test is included. I'll try to fix this myself, but any tips are appreciated :smile: 

**Resource:**
```
    class Meta:
       always_return_data = True
       queryset = Forum.objects.prefetch_related('moderators', 'members')
```

**Pseudo-Code:**
```
    Forum.objects.create()
    request.put('/api/forum/1/', {'moderators': [{'username': 'JannKleen', }, ], })
```

This should return the new moderator, but instead returns an empty list (the old value of the m2m field).
Using an underscore attribute here makes me nervous.  It could change in the next version of Django, even changing how Django's queryset object behaves when this is set on a queryset with no prefetch_related() call.

Could we use prefect_related_objects (possibly after making sure there is a prefetch for the queryset) to repopulate the cache instead?