Add \OC\App\Manager to handle enabling/disabling apps

Add a proper public interface for enabling/disabling apps.

I would like to expend this in the future and refactor all off `OC_App` in a proper public interface later.

cc @DeepDiver1975 @PVince81 
If the group manager returns incorrect cached results then it also wouldn't work with `OC_App`, iirc the problem with `OC_App` was that it cached the enabled apps for the user, meaning that if the groups for the user changed halfway in the request it would still have the results cached from the old groups.

This approach doesn't cache the enabled apps for a user for that reason, only the list of installed apps