Testing and Refactoring code in the Git and SVN subprojects

The overlapping classes between the Git and SVN subprojects have been tested, as well as all the smaller classes in both subprojects. A new maven project named SCM has been added, to which all the duplicate code between the project has been moved.
This project can be extracted into a versioned project, which can then be included as a separate dependency for both the Git and SVN subproject, reducing code duplication without introducing a common dependency. The latter step is not included in this pull request, as the focus was on the testing and refactoring of the original subprojects.