Move user preference-related methods to a dedicated user context

Bug fix: no
Feature addition: no
Backwards compatibility break: yes
Unit test passes: yes
Specs passes: yes
Replaced unit test classes removed: yes
Behat scenario passes: yes
Checkstyle issues: no
ChangeLog updated: yes
Documentation PR: ~
Fixes the following jira:
 - PIM-1930
 - PIM-1917