Fixed #6707 -- Added RelatedManager.set() and made descriptors' __set__ use it.

**WIP not ready for commit!**
Good point. Looking at their implementation, it seems that might not be hard to change, but likely that should be explored separately.