Reset merger repo when performing an update

When a merger "updates", it fetches remote data but does not alter
any of the local branches.  However, the new "getFiles" merger
function expects to be able to fetch data from any given branch.
If a merger is "updated" and then calls "getFiles", it will return
data from whatever commit the local branch points to, not what the
newly-updated remote branch points to.

This change alters the "update" command to "reset" the repo.  A
merger reset is an update as above, followed by a forced re-creation
of all the local branches to mirror the remotes.  This will cause
getFiles (as long as it is preceded by an update) to return the
correct data.

Change-Id: Ic475c4437dcd045d8d07a391159d555a379e97b8
diff --git a/zuul/merger/merger.py b/zuul/merger/merger.py
index 3ab7b5f..f970b03 100644
--- a/zuul/merger/merger.py
+++ b/zuul/merger/merger.py
@@ -256,7 +256,7 @@
         repo = self.getRepo(project, url)
         try:
             self.log.info("Updating local repository %s", project)
-            repo.update()
+            repo.reset()
         except Exception:
             self.log.exception("Unable to update %s", project)