More extensions to collections

- Provide type information
- Also note whether the field is required.
Munge the button in as generic data.

- This is how it's done at the standard http protocol level anyway, but
  here types are now provided and the button denotes a possible action
  that can be filled.