Add a public api for apps to add mounts

This adds a public api which apps can use to add additional mountpoints in a more structured way then listening to hooks.

First PR for #12216

cc @PVince81 @DeepDiver1975 
I wonder, should it rather be: instantiate a MountManager with an injected IUser, and then just call `getMounts()` to get that user's mount ? This way every user has a different mount point. Unless you say this is needed to be able to switch between users due to shares ?