Allow entities to be automatically instantiated using optional controller annotations

I'm open to suggestions on names for the annotations.

`@Form` -> build entity from request parameters
`@Body` -> body entity from request body
`@Param` -> named request parameter
`@ParamPattern` -> currently used for handling deserialization of dates

Maybe those are good enough but perhaps...
- `@Param` should be `@Named` ?
- `@ParamPattern` should be `@Pattern` ?