Rename `PhutilBufferedIteratorExample` to `PhutilExampleBufferedIterator`

Summary: Ref T5655. `PhutilExampleBufferedIterator` seems clearer than `PhutilBufferedIteratorExample`.

Test Plan: Ran `arc unit`.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D9995
Add a `PhutilMethodNotImplementedException` class

Summary: I think that "Not implemented" is common enough to warrant a dedicated exception class.

Test Plan:
```
[2014-07-21 14:33:42] EXCEPTION: (PhutilMethodNotImplementedException) Method testMethod in class TestClass is not implemented! at [<phutil>/test.php:7]
  #0 TestClass::testMethod() called at [<phutil>/test.php:11]

[2014-07-21 14:33:14] EXCEPTION: (PhutilMethodNotImplementedException) Function foo is not implemented! at [<phutil>/test.php:13]
  #0 foo() called at [<phutil>/test.php:15]
```

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D9992
Rename auth classes for consistency

Summary: Ref T5655.

Test Plan: `arc unit`.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D9998
Rename `HTTPFutureResponseStatus` subclasses

Summary: Ref T5655.

Test Plan: Ran `arc unit`.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D10008
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
Fix crazystairs with non-stairlike reverse-indented lists

Summary: Ref T5102. This loop is supposed to select the first item at the minimum depth, but uses `<` rather than `<=` so it selects the last item instead.

Test Plan:
Added and ran unit tests. Viewed stairs in preview, they worked correctly.

{F181101}

Reviewers: asherkin, btrahan, chad

Reviewed By: chad

Subscribers: epriestley

Maniphest Tasks: T5102

Differential Revision: https://secure.phabricator.com/D10043
Improve text mode rendering of reverse Remarkup list staircases

Summary: Ref T5102. The text-only mode of these was a bit silly.

Test Plan: Added and executed unit tests.

Reviewers: asherkin, btrahan, chad

Reviewed By: chad

Subscribers: epriestley

Maniphest Tasks: T5102

Differential Revision: https://secure.phabricator.com/D10044
Interpret "## text"-style Markdown headers

Summary: Ref T5102. This conflicts with `#` lists, but we can resolve the ambiguity with a reasonable heuristic.

Test Plan: Added and executed unit tests.

Reviewers: asherkin, btrahan, chad

Reviewed By: chad

Subscribers: epriestley

Maniphest Tasks: T5102

Differential Revision: https://secure.phabricator.com/D10045
Update compat info to include ZipArchive

Summary: This is now present in the upstream.

Test Plan: Changes seem to make sense?

Reviewers: joshuaspence, btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T5748

Differential Revision: https://secure.phabricator.com/D10083
Fix mispelling of a class name

Summary: This class was renamed in D10008 but was misspelled.

Test Plan: Eyeball it.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D10116
Add a `selectTokensOfTypes` method to the `AASTNode` class

Summary: Add a `selectTokensOfTypes` class which allows multiple token types to be extracted from an `AASTNode`.

Test Plan: This will make more sense in my next diff.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D10121
Rename `PhutilRemarkupRule` subclasses

Summary: Ref T5655. Some discussion in D9839. Generally speaking, `Phutil{$name}RemarkupRule` is clearer than `PhutilRemarkupRule{$name}`.

Test Plan: Not yet tested... this is likely to break external code, so I'm not sure whether or not we want to pursue this.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D9993
Make `#` header detection more strict

Summary:
Ref T5102. Require a space after a single `#` at the beginning of a line to possibly trigger header behavior.

This prevents conflicts with `#projects` and some normal text beginning with `#`.

Test Plan: Added unit test.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: pieter, epriestley

Maniphest Tasks: T5102

Differential Revision: https://secure.phabricator.com/D10151
Allow Remarkup list items to have multiple paragraphs

Summary: Ref T4939.

Test Plan: Added unit tests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4939

Differential Revision: https://secure.phabricator.com/D10154
Remove some leftover `@group` annotations

Summary: These were leftover after D9856.

Test Plan: Eyeball it.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D10147
Rename `AphrontQueryException` subclasses

Summary: Ref T5655. Rename `AphrontQueryException` sublasses for consistency. I'm not a huge fan of all of resulting class names, but they do feel more consistent.

Test Plan: Ram `arc lint` and `arc unit`

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D10149
Rename `PhutilKeyValueCache` subclasses

Summary: Ref T5655. Rename `PhutilKeyValueCache` subclasses for consistency. I intentionally left `PhutilKeyValueCacheNamespace`, `PhutilKeyValueCacheProfiler`, `PhutilKeyValueCacheProxy` and `PhutilKeyValueCacheStack` because these seem to be special cases.

Test Plan: `arc lint` and `arc unit`

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D10155
Rename test class

Summary: Ref T5655. Rename `PhutilPHTTestCase` to `PhutilPhtTestCase` for consistency with the method under test (`pht`).

Test Plan: `arc unit`

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D10158
Rename `PhutilParserGeneratorException` subclasses

Summary: Ref T5655. Rename `PhutilParserGeneratorException` subclasses for consistency.

Test Plan: `arc lint` and `arc unit`

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T5655

Differential Revision: https://secure.phabricator.com/D10159
Support SIGINT for graceful daemon shutdown in libphutil

Summary: Ref T5855. Makes SIGINT mean "graceful shutdown" instead of being a synonym of SIGTERM.

Test Plan: See next revision.

Reviewers: btrahan, hach-que

Reviewed By: hach-que

Subscribers: epriestley

Maniphest Tasks: T5855

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