merge default into stable for 3.0 code freeze

--HG--
branch : stable
Added tag 3.0-rc for changeset 564f55b25122

--HG--
branch : stable
Added signature for changeset 564f55b25122

--HG--
branch : stable
churn: compute padding with unicode strings

Most UTF-8 aware terminals convert multibyte sequences into a single displayed
characters.  Because the first column is padded by counting bytes, the second
column is not perfectly aligned in the presence of non ASCII characters.

--HG--
branch : stable
obsolete: fix language and grammar in module docstring

--HG--
branch : stable
extra : amend_source : bd74c1aa540c82f965e68a986337ebe74f58cfce
obsolete: let N denote number of obsoleted changestes in a marker

The number of obsoleted changesets is referred to as N later in the
docstring.

--HG--
branch : stable
obsolete: fix one-element tuple in module docstring

--HG--
branch : stable
merge: fix test failures with new merge code on OS X

The case collision checker was missing a op entry for 'k'eep.

--HG--
branch : stable
merge: fix wrong number of arguments for bid merge message

--HG--
branch : stable
tests: better test coverage for bid merge

Martin Geisler's test case revealed the previous message argument error.

--HG--
branch : stable
extra : amend_source : 0b4d5a3f06add2e274e00ddf69e301ba26d05147
merge: fix stray character in bid merge message

--HG--
branch : stable
merge: tell the user when we are using bid merge

Bid merge is a new rarely used feature that the user explicitly enabled - we
should tell/warn when the user actually is using it, just like we tell when we
not are using it.

Give a message like
  note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd

--HG--
branch : stable
merge: improve notes for listing the bids for ambiguous merges

--HG--
branch : stable
revset, i18n: add translator comment to "only"

--HG--
branch : stable
commands: fix typo in --graph description

--HG--
branch : stable
histedit, i18n: replace '+' with concatenation to make hggettext happy

--HG--
branch : stable
bundle2: decorate exception raised during bundle processing

This is a small hack to help us do some graceful error handling in bundle2
without major refactoring. See embedded comment for details.

--HG--
branch : stable
bundle2: gracefully handle abort during unbundle

Clients expect a bundle2 reply to their bundle2 submission. So we
catch the Abort error and turn it into a bundle2 containing a part
transporting the exception data. The unbundling of this reply will
raise the error again.

--HG--
branch : stable
bundle2: make error testing more modular

We have more than Abort to test.

--HG--
branch : stable
bundle2: use a more specific UnknownPartError when no handler is found

KeyError is very generic, we need something more specific for proper error
handling.

--HG--
branch : stable