Allow direct assignment of m2m relationships

This depends on #18 (which depends on #17).

Where authors.books is a many to many relationship field, this allows code like this to work without losing version information:
```
authors.books = [book1, book2, book3]
```