While working on some other tests, I noticed that the push command was returning
exit code 1 on success. This changeset makes hgrepo.push use the same return
code contract as localrepo.push, which makes the exit codes behave as expected.
These test changes should make it easier to see what's still broken in
1.8 and 1.9. Ideally, we'll drop pre-1.8 versions soon and rip most of
this out, but I'm not sure how realistic that is in the short term.