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.
Change-Id: I3d570a6385f96a606e1af53c50faa03b9ebacd38