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.