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 
Current mount providers need to instantiate the mounts themselves since the class used determines behavior such as mount moving