Mercurial as a full-fledged SCM resource/provider

Using the Git resource/provider as a template, I updated the cookbook to upgrade mercurial to a first-class SCM provider.

Mercurial can now be used via the scm resource by defining

provider Chef::Provider::Mercurial

or directly using the mercurial resource.