Fix mentions not being created upon issue/merge request update
New cross-references weren't being added when they were made in an issue or merge request update.
This happened because the relevant `UpdateService`s were making the `notice_added_references` call
after the model had already been updated and saved, so the `changes` attribute was empty and no
cross-references were made at all.
This fixes the bug and adds a bit of testing and a bit of refactoring.
Closes#1773
See merge request !974