Basic go/vcs implementation for Mercurial.

Mostly collected from stackoverflow answers and local testing. It seems
to work, but it could use review/improvement to be more robust.
Add vcs providers in a more general way (each file is fully responsible
for its own provider); perform a test to ensure corresponding binary is
present before adding.
Closes #1.