The CommandRemoteService implementation was completely wrong.
Substitutions need know the user name in question, which isn't available
until the actual operation is invoked; so this needs to be passed
through to `_mkcmd'.
Therefore, we introduce a new argument to `_run', which is simply passed
on to `_mkcmd', and adjust implementations to cope.