Added support for custom SHA-1 commit and refactored GitPreparer, fixes #26