Necessary changes to the manual.

------------------------------------------------------
The warning output now contains the most specific error key that
can be used to suppress that warning.
Update all example output in the manual to account for this.
------------------------------------------------------

New section on concepts and annotations that apply to all type-systems and checkers

Where would a good place be for this?  At the beginning/end?  Split into multiple sections?

- Pre-/postconditions from a user perspective:
  - Explain the generic pre- and postcondition annotations: @EnsuresAnnotation/@EnsuresAnnotations, @EnsuresAnnotationIf/@EnsuresAnnotationsIf and @RequiresAnnotation/@RequiresAnnotations.
  - Explain what kind of strings are supported (see text near the end of this documentat; use that to augment the existing Checker Framework documentation).

- Pre-/postconditions from a developer perspective:
  - Explain the meta-annotations @PreconditionAnnotation, @ConditionalPostconditionAnnotation and @PostconditionAnnotation.

------------------------------------------------------

Explain relationship between XXXChecker and XXXAnnotatedTypeFactory:  if
the Checker is a subtype of BaseTypeChecker, the AnnotatedTypeFactory has
to be a subtype of AbstractBasicAnnotatedTypeFactory, because
BaseTypeVisitor assumes that.
[Defer this because it is being rewritten.]

------------------------------------------------------
