Bugfix: Remove optimization in DirectRelation

  * When adding/removing to a relation, the commit
  d1cff4faf035c5874f24235639a1698e7bfbd883 was optimizing the operation, by
  checking whether the firstRole's add/remove had succeeded.  This was a
  problem when setting to null, because it would call add (on the role), which
  would return false (in case of a RoleMany), thus not running the add/remove
  for the other role, which was actually doing the add/remove.