Fixed #1748

CommandRunner->extend() now implements an sprintf-like signature, and
shell-arg-encodes all of the variable arguments (except the first one,
which acts as a format string).