Annotations are now set against fields.

This was previously missed; annotations were picked up by the parser, but a lack
of assignment into the node meant they were unavailable for consumption. Added
a testcase to cover this. Updated the parser definition, regenerated the parser
code, and adjusted existing specs that unwillingly expected a lack of annotations.
Permit annotations without values, as per THRIFT-2499