3.0 - habtm methods

Following the PR for saving associated entities, this adds new methods to `BelongsToMany`. These are responsible for linking, unlinking or replacing links between both tables. In a future PR these methods will be used to provide saving modes for BelongsToMany.