Add support for (structured) annotations to schema.thrift.
Add support for (structured) annotations to schema.thrift.

Summary:
Structured annotations only support at most one value per type. So I've made a special typedef that will allow local adapting to a more useful in-memory representation.

Since it technically supports any type, we could use a 'structured' annotation of map<string, string> to represent deprecated, unstructured annotations, for backward compatibility. I left a TODO documenting this possibility.

Reviewed By: Mizuchi

Differential Revision: D36504478

fbshipit-source-id: bbfa72e4eb36414a1f6334549b8456cc03a2e695

facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift