Add multiple VCS support

This patch adds support for other VCS; hg added as example.