Create abstract class for all scc commands acting on git repos

- Move main repository intialization (incl. submodule registry, reset and status reading), add_new_commit_args() and push() to this new abstract class
- Use GitRepository rmerge() method for the update-submodules command. Note the updated boolean has been dropped during this change since the logic checking local changes has been moved to rmerge(). This means --push can now be called even if the SHA1 is unchanged.
Merge pull request #3 from sbesson/auto-submods

Fix `scc update-submodules`