Still need to figure out what tests this will need to support, and how to configure it's behaviour. I've not ruled out creating a forge object that is passed in rather than the functions we have now. Closes kemitix/git-next#37