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 
Ok, based on the explanation you gave above it makes sense. If IMountProvider is some kind of factory that will instantiate mounts, then it has to be global.