Various minor improvements to the `xsprintf` functions

Summary:
- Renamed `Phutil*sprintfTestCase` classes to use proper camel case.
- Added some type hints for function parameters, where appropriate.
- Use more specific (SPL) `Exception` types, where appropriate.
- Change `##` to `\`` in comments.
- Wrap functions in `@{function:...}` when they appear in comments.

Test Plan: `arc unit` still works.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

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