Apply git notes to store hg sha1 on clone and pull, ref #4

* The Hg sha1 is written to refs/notes/hg-<REMOTE>, to be merged later.
  If multiple fast-import processes are running concurrently, they
  cannot commit to a shared ref such as `refs/notes/hg` without first
  getting the correct parent ref. Unfortunately, there is a
  seemingly-unavoidable race condition if one attempts to have
  fast-import "look up" the value of the shared ref. This patch instead
  has each remote commit to a private notes ref that can be merged later
  using

    git notes --ref=hg merge hg-<REMOTE>

  and then viewed using `git log --notes=hg`. Currently, the user has to
  run the merge command, though we'll hopefully find a cleaner way to do
  it.

* Learns which hgsha1 notes to write based on the last written note.
  This retroactively applies notes in the fetch following a push, or on
  fetch for old repositories for which notes have not yet been written.
  Notes are still not eagerly written in push.

* add test_simple_push_updates_notes
Only make one call to mq.strip() on conflicted push