add base scm class, mercurial class with tests