Avoid extra shell

This patch series removes a couple of extra shell calls:

1. All modules using the `module_common.py` infrastructure now clean up their own temporary holding directory, so they can be called directly via SSH, rather than via a shell;

2. Low-level commands are now generally not executed in a subshell;

3. Sudo-invocations don't need a subshell either, I think that the use of `sudo -k` was erroneous and is now integrated into a single sudo call.

As far as I can tell, only the creation of the remote directory requires the use of a subshell, since we need to chain multiple commands together to get the full path of the directory created.