Implemented abstract extension points
Implemented descriptors for extension points

The extension points work in theory. However, their functionality is not yet properly tested
Got the descriptor part working properly
Implemented mercurial as extension
Configuration of descriptors is now working

It is possible to define an extension with a descriptor and have the configurations for the descriptor saved, and used by the plugin. The extension points are not yet used in the plugin, but should be done through an Action. There is currently a problem with the parametisating of the SCMInterface class which should be solved, as the AbstractSCMInterface currently does not implement this
Removed basic descriptor from the configuration form
Removed the need for SCMInterface interface
Replaced AbstractCommit with Commit
Removed SCMInterface entirely
Added PretestedIntegrationAction
Updated ignore file
AbstractInterface atomic methods no longer needs to be implemented but overriden instead
Cleaned up mercurial implementation
Navigation between commits should now work properly
Integrated actions with the build phases and cleaned up excess classes

All of the old classes have been removed as their functionality has now been replaced. The action does not build properly when resetting the builds as of yet
Updated tests to the new architecture