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) .
Notice the extra closing parentheses in the above example. Should the parser disallow extra garbage as a valid annotations is found?