Add tests for addition and removal from a hasMany relationship

Refactor `serializeHasMany` to be simpler and more correct. Enable a test for adding to a hasMany, add a test for removal from a hasMany.

I'm not convinced the conditionals in the `serializeHasMany` function are correct. The items iterated for the add operation seem to just be all items in the relationship. The property iterated for the deletion operation I believe is never set (hence the failing test). I think we need some other method to see changes to the relationship instead of just checking its current state during serialization.

/cc @igorT
It doesn't make sense to check `hasMany` or its length as you have already checked on line 170.