Better support for custom many-to-many

Django form fields have a method called `save_form_data` that allows a field to customize it's save method.

This is incredibly useful when working with many-to-many fields with a through table, e.g:

```python
class GenresField(serializers.WritableField):
    def save_serializer_data(self, instance, field_name, data):
        from interface.models import SplingGenre as SplingGenreModel
        for genre in data:
            SplingGenreModel.objects.get_or_create(spling=instance, genre=genre)
```

Instead of using the standard setattr (which doesn't work on custom many-to-many)

Thoughts?