Added Mercurial as VCS

Quick add of Mercurial as VCS.
Unfortunately Mercurial by default does not support stashing uncommited changes. The extension needes (i.e. shelve) may not be activated. A more soffisticated approach could check if the extension is active and then use the shelve for stashing.
The problem with not support stashing uncommitted changes is that RubyCritic won't be able to flag code smells that are yet to be committed. That is the whole point of this method. This method goes back to the last commit so that you can compare your uncommitted code with the code that was last committed.

From what I can tell, `current_revision` will always be the same as `head_reference`. I think this method should be changed to just the following:

```ruby
def travel_to_head
  yield
end
```