I broke the py2 version in https://phab.mercurial-scm.org/D9287
because the WorkerError.__bytes__() (or .__str__()?) output was
different in py2 compared to py3. Part of the problem was that I
didn't propagate the status code that was passed in to the superclass
so it could get printed. This patch fixes that. I don't know how it
worked on py3 before this patch...
I also added the usual __bytes__ = _tobytes override for good
measure. It doesn't seem to be needed for tests to pass, though.