Adjust HgResumeTransport behavior on two edge cases

Fixed two questionable behaviors while searching the code for
why some users of LanguageDepot have seen no-op merges happen
during their Send/Receives

* Count a ServiceUnavailable response as a timeout when
  retrieving revisions instead of logging and returning
  an empty map.
* If the server indicates that changes happened in the middle
  of a pull operation rebuild the local cache of revisions before
  restarting the pull.