(bug 44802) check for enhanced changes preference in more places

- the code is ugly but does the job
- watchlist code in core needs a bit of refactoring so hooks can be more context aware, etc.

Change-Id: I20322a7463b3afedf01aadcad8177824ee9c86ed
Merge "(bug 44802) check for enhanced changes preference in more places" into mw1.21-wmf9