Address issues with HgRepository::FetchWithoutConflict

* Ensure recover is called if the repository is in bad state
* Use --non-interactive to prevent hg from prompting

Fixes #483