wireproto: add out-of-band error class to allow remote repo to report errors
Older clients will still print the provided error message and not much else:
over ssh, this will be each line prefixed with 'remote: ' in addition to an
"abort: unexpected response: '\n'"; over http, this will be the '---%<---'
banners in addition to the 'does not appear to be a repository' message.
Currently, clients with this patch will display 'abort: remote error:\n' and
the provided error text, but it is trivial to style the error text however is
deemed appropriate.
$ "$TESTDIR/hghave" inotify || exit 80
$ hg init
$ echo "[extensions]" > .hg/hgrc
$ echo "inotify=" >> .hg/hgrc
$ hg inserve -d --pid-file .hg/inotify.pid
$ echo a > a
$ hg ci -Aqm0
$ hg co -q null
$ hg co -q
$ hg st
$ cat a
a
$ kill `cat .hg/inotify.pid`