Added user preference handling

From comments on our paging review, it became clear that we need some kind
of user preference support. This commit provides a client-side
implementation with an abstraction layer that allows us to connect the API
at a later time. Actions taken:

- Added currentUser resolution for routes.
- Added new profile module to handle user profile management.
- Added navigation in menu.
- Small fix to logout button in mobile, to make sure it doesn't show up.
- New route and UI for /profile/preferences
- Created preference provider factory that allows any module to
register/inject their own preferences with defaults. See
services/resource/preference.js as an example.

Change-Id: I2d72a40a9e0c3a142da6c1d1e5f9dd4da7ca58a1