check-code: fix an error message
check-code: prepend warning prefix for repeated warnings only once

When a warning occured several times in one file, "warning: " was prepended
several times:

examplefile.py:3:
 > def a(object):
 warning: this looks wrong
examplefile.py:27:
 > def x(object):
 warning: warning: this looks wrong
rebase: fix rebase aborts when 'tip-1' is public (issue4082)

When aborting a rebase where tip-1 is public, rebase would fail to undo the merge
state. This caused unexpected dirstate parents and also caused unshelve to
become unabortable (since it uses rebase under the hood).

The problem was that rebase uses -2 as a marker rev, and when it checked for
immutableness during the abort, -2 got resolved to the second to last entry in
the phase cache.

Adds a test for the fix. Add exception to phase code to prevent this in the
future.
test: do not add .pyc and .orig in test-commit-amend.t (issue4085)

This makes the test fails with disabled byte-compilation
(PYTHONDONTWRITEBYTECODE="1" environmental variable).
Merge with stable.
Merge with stable.