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) .
Updated. Unknown annotations are rejected now.