Add support for fine-grained rich text for custom fields.

Custom fields now work properly with fine-grained rich text fields.
When loading an old field, the rich text setting won't exist in
extra_data, so we assume rich_text should be true. This is because in
2.0.x, pre-2.0.9, all fields were saved as Markdown by default.

When saving a field, we now set the appropriate rich_text field along
with it, and when loading, we look for that field. We also escape if it
exists and is set to False.

In order to allow setting the rich_text flag, the support for setting
extra_data now attempts to guess the value type. 'true/True/TRUE' will
be interpreted as True, 'false/False/FALSE' as False, integer as
integers, and the rest as strings.

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