feature(core): better registration of usersettings handlers

This will allow plugin developers to replace specific parts of the user
settings action without redoing part of the core actions.
Merge pull request #6793 from jeabakker/user-settings-save

feature(core): better registration of usersettings handlers