Fix the annotation field implementation.

Without this change, especially the "unknown='preserve'" options passed to the
Mapping class, all the values passed in addition to the authorized ones would
be dropped, and that's not what we want, because having arbitrary values is
helpful to add information specific to the business logic.
Preserve also other fields properties.

Otherwise, it's not possible to add metadata to the definition fields.
Merge pull request #247 from spiral-project/fix-annotation-field

Fix the annotation field implementation.