xfail test for hg bookmark named 'master' which is not at tip

See issue #13
Merge pull request #21 from fingolfin/xfail-master-bookmark

xfail test for hg bookmark named 'master' which is not at tip
pep8
fix looking up latest commit in a branch in older versions of mercurial
completely prevent hg from writing to stdout
pep8
this implementation broke pushing multiple commits altogether and I never even knew. This partially reverts b781c21. Going to switch to Alex's implementation instad.
first stab at handling non-fast forward pushes
Use more modern file processing
remove xfailingness fixed by Alex's work.
Ignore test log and devel egg
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
Ensure mq exentsion is loaded
Add .travis.yml configuration

See https://travis-ci.org/
Merge pull request #27 from fingolfin/fix-mq-dep

Ensure mq exentsion is loaded
Merge pull request #28 from fingolfin/travis-for-pull

Add .travis.yml configuration
Merge pull request #25 from jedbrown/hgsha1-in-notes

Store hg sha1 using git notes (partial implementation of #4)
Store local hg clone under .git/hg/<SHA1-of-remote-URL>/clone

This addresses issue #14: The reference stays valid even after
a "git remote rename NEW OLD"
Store notes under refs/notes/hg-<SHA1-of-remote-URL>