# Functions
CombinedOutput runs a command and returns the output string of c.CombinedOutput.
Dir returns a command that runs in the given dir.
MakeWorkDir creates a unique path inside the given root dir to use as a workspace.
Run sets up the command to log directly to our stdout/stderr streams, then runs it.
RunQuiet logs the command line and runs the given command, but sends the output to os.DevNull.
SpaceTrimmedCombinedOutput runs CombinedOutput and trims leading/trailing spaces from the result.