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

[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/pjcdawkins/platformsh-cli/badges/quality-score.png?b=development)](https://scrutinizer-ci.com/g/pjcdawkins/platformsh-cli/?branch=development) -> [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/pjcdawkins/platformsh-cli/badges/quality-score.png?b=git-helper)](https://scrutinizer-ci.com/g/pjcdawkins/platformsh-cli/?branch=git-helper)
`7.16` -> `7.39` at the time of writing

 - [x] fix double errors on failed drush make
 - [ ] test with symfony/composer build