Field definition discovery.

Add some way to describe the field definitions to the API clients.
I agree, but this sound like something that we can do in a follow up. Let's try to keep PRs as simple as possible.