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