500 Server Error when posting a non-string package extra

If you post something that isn't a string (eg. a dict) as the value of an extra when creating or updating a package via the API, SQLAlchemy crashes and CKAN 500s.

In CKAN 1.8, it used to be possible to post non-strings as extra values. In 2.0, they have to be strings.

See this issue on ckanext-harvest for details: https://github.com/okfn/ckanext-harvest/issues/42

The point of _this_ issue is that CKAN should catch this at the schema validation level and sent back a helpful error message.