Defer cleanup handles
The current cleanup routines tend to not be triggered if ISM panics in a handler. This is quite nasty because at least mounts can't be cleaned up by systemd itself.
Based on the golang docs we should be able to either defer any cleanup routines or create a recover
handler to ensure they are always called on exit.