Implement describe for Mercurial

Signed-off-by: Michal Čihař <michal@cihar.com>
Make generic file hash implementation compatible with git

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement commit for Mercurial

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement merge for mercurial

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement missing bits of Mercurial backend

It is currently limited to default branch and some features will be
broken, but at least the testsuite works now.

Issue #511

Signed-off-by: Michal Čihař <michal@cihar.com>
Commit after merge with hg

Signed-off-by: Michal Čihař <michal@cihar.com>
Properly try to update repo before doing merge

Issue #511

Signed-off-by: Michal Čihař <michal@cihar.com>