Makee all functions return a stream, and consolidate common git execution logic into exec.js