Improvements to reporting.

- Change README example to `XmlEncodingRule`.
- Add saner default categories.
- Make `LintError` more user-friendly.
- Add severity colors to `Severity`.
- Add smart `Color` class for printing to terminal. See class and
  Javadoc.
- `Reporter` now sorts by category then by name before reporting.
- `DefaultReporter` now uses `Color` class to print. Printing errors now
  terminal-friendly.
- `HtmlReporter` now prints useful information.
- `XmlReporter` now actual valid XML, and prints useful information.
- `EnumUtil.toHappyString`: convert upper underscore to upper camel
  case.