Provide documentation annotations for message, field and enum descriptors

Parse java-like annotations from the doc comment and provide the syntax tree to the user via GenericDescriptor.getAnnotations() and FieldDescriptor.getAnnotations().

This is needed to support ISPN-3718 (Select which protobuf fields to index) .
I'm thinking about this annotation name, it is inspired by hibernate search, but it does sound a bit odd: we are inside a protobuf schema, that is about describing fields and messages, and we are annotating a field with ```@Field```. Conceptually, using ```@Indexed``` or ```@IndexedField``` here would make it nicer.
The same for message level ```@Indexed```. Is it needed? In hsearch, its purpose is to define the index name and entity interceptor. WDYT? Should we aim to become hibernate search compatible?