Some commands should probably be run no matter what, but others should not be.
For example, running the vcs-git tests with -n results in actual git-clone running. This is counter-intuitive behavior when the user has asked for only the commands to be printed.
This probably just means that we need to split things into targets and actions, but I haven't figured out how to do that clearly yet.