Allow nil stderr to fix error handling in run_cmd

The right way to do this is is actually to capture stderr;
this is triage
Avoid workspace dir for git commands if it does not exist

This lets us move the  check to use the git
utility method, fixing the GIT_SSH issue in a way that
avoids code duplication.
Avoid run_cmd in workspace setup

This lets us eliminate it entirely