Use an SCM object with a pluggable strategy

rather then a singleton-class-module
Moved Hg to the new strategy pattern