Use the Mercurial CLI commands and not its internal API (#57)

This PR changes the repository.py module to make use of the Mercurial CLI commands. With that we don't rely on the instable internal API anymore.

I have tested this across platforms and it works like a charm. @davehunt can you please have a look at?