Make SubmoduleUpdateCommand an interface

To do the way that RemoteGitImpl is done, we need the SubmoduleUpdateCommand
to be an interface and not an abstract class.
Merge pull request #127 from dbroady1/SubmoduleUpdateCommandInterface

Make SubmoduleUpdateCommand an interface