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 
What's IMount ? Is it a mount point ? Or a mount backend ?
Is this a good opportunity to give these classes more explicit names ?