Add caching to OC\Preferences

This loads all the preferences for a user in one go to prevent having to make a query for every value read from the preferences.

Saves 3 queries in my local setup for each request.

Removes some tests since they no longer make sense with the caching

cc @karlitschek @DeepDiver1975 @PVince81