Field definition discovery.

Add some way to describe the field definitions to the API clients.
``size => 255`` (or should this be in the data)?

also, if in the data ``required == true``, do we need to repeat it in the form_element?