Improve the stack traces from phlog($exception)
Improve the stack traces from phlog($exception)

Summary:
Fixes T8331. When we throw an uncaught exception in Phabricator, it sometimes ends up getting `phlog()`'d.

The traces this function prints out are from the `phlog()` call, not the original exception. This reduces their diagnostic value significantly.

Since we can build reasonable compound stack traces for complex exceptions now, just create a complex exception (don't throw it) and use that stack instead.

Test Plan: Used this patch to get a reasonable stack for T8415.

Reviewers: joshuaspence, btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8331

Differential Revision: https://secure.phabricator.com/D13150

julkiewicz/libphutil,julkiewicz/libphutil,julkiewicz/libphutil