Improve support for fine-grained text types in the API.

This updates the various resources to support fine-grained setting of
text types per-field, to list the text types, and to optionally return
the raw values along with the forced values (if using force-text-type=
and include-raw-text-fields=).

Support for setting text_type= is still allowed on the resources that
have split this field out. It will act as if individual *_text_type=
values were passed. However, the returned text_type value in the payload
is now hard-coded to null.

New text.per_field_text_types and text.can_include_raw_values
capabilities have been added.

This is part of a set of changes to allow for per-field optional for
Markdown. It requires the other set of changes.

Reviewed at https://reviews.reviewboard.org/r/6458/