redact exception traces and abstract getTrace

* Partially reverts I0a9e92448 (rationale:
   http://www.gossamer-threads.com/lists/wiki/wikitech/401558)
  - wfDebugLog()'d exceptions are always unredacted
  - Other backtraces are redacted by replacing all argument values with class /
    type names.
* Adds a pair of static methods to MWExceptionHandler:
  - MWExceptionHandler::getRedactedTrace
	equivalent to Exception::getTrace, but replaces each argument value
	in the trace with its class or type name.
  - MWExceptionHandler::getRedactedTraceAsString
    equivalent to Exception::getTraceAsString, but with argument values
	likewise redacted.
* The rename of 'formatRedactedTrace' to 'getRedactedTraceAsString' is
  justified on two grounds:
  - 'formatRedactedTrace' didn't actually take a trace object (it took an
	exception).
  - 'getRedactedTraceAsString' maintains the symmetry with
    Exception::getTraceAsString.

Conflicts:
	includes/Exception.php

Change-Id: I3d570a6385f96a606e1af53c50faa03b9ebacd38
MWException: Cleanup exception message output

Change I0a9e9244 lost the message when handling a non-MWException
exception, and for a long time MWException's getHTML and getText have
been missing the actual file and line where the exception was thrown.

We may as well use MWExceptionHandler::getLogMessage to fix all of
these, resulting in a more standardized exception output.

Change-Id: I8a9b4831c9c586bafe0a54516ff779cdfb008984
Merge changes I8a9b4831,I3d570a63 into REL1_22

* changes:
  MWException: Cleanup exception message output
  redact exception traces and abstract getTrace