Choose a better class name for PhutilMethodNotImplementedException
Summary:
If you call $subclass->method() and the base class provides a default implementation which throws, you get BaseClass in the exception message.
Instead, produce Subclass in this case.
Test Plan: With Application subclasses missing getName() implementations, got more useful exceptions (e.g., "PhabricatorPasteApplication" is missing a method, not "PhabricatorApplication").
Reviewers: joshuaspence
Reviewed By: joshuaspence
Subscribers: epriestley
Differential Revision: https://secure.phabricator.com/D10030