Create user service to persist settings across account
### Problem to solve
~Manage is trying to improve the user experience by presenting users with usability improvements such as frequently visited projects/groups, sorting preferences, etc. However these features usually use `localStorage`, which is only per-browser and per-device. We should persist these across the user account to be able to support a multi-browser and multi-device environment.
### Target audience
- Parker, Product Manager, https://design.gitlab.com/research/personas#persona-parker
- Delaney, Development Team Lead, https://design.gitlab.com/research/personas#persona-delaney
- Sasha, Software Developer, https://design.gitlab.com/research/personas#persona-sasha
- Devon, DevOps Engineer, https://design.gitlab.com/research/personas#persona-devon
- Sidney, Systems Administrator, https://design.gitlab.com/research/personas#persona-sidney
- Sam, Security Analyst, https://design.gitlab.com/research/personas#persona-sam
### Further details
### Proposal
Ideally, we should try to implement a service that doesn't require such a strict schema. Of course, that could cause security implications by having to store arbitrary blobs of user preferences.
Items to be persisted:
List of recent projects
List of recent groups (see https://gitlab.com/gitlab-org/gitlab/-/issues/339155#note_688232260)
Realistically, we may want to just hsve certain schemas, then. Such as "frequent items" and "sorting preference".
### What does success look like, and how can we measure that?
Persistent user preferences across devices and browsers, instead of on one browser.
### Links / references
issue