Refactor Git commands into a new GitHelper.
Add some functional tests for GitHelper.
Cleanup
Allow toolstacks to write to $output and use shell abstractions.
Fix double error output from shell commands.
Merge pull request #167 from pjcdawkins/git-helper

Refactor Git/shell/Drush commands; and let toolstacks write output