Use an SCM object with a pluggable strategy

I've taken the responsibility for executing scm commands away from the
rake tasks and have placed them in an SCM object. This object can be
loaded with any given strategy.

A default strategy is supplied (the commands as they where in the rake
tasks)

Moved Hg to the new strategy pattern
Merge pull request #828 from coffeeaddict/decapsulated-scm

Decapsulated scm