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) .
One way of doing it is to check for input left in the line after the parser is done consuming it. If any token or string is left, it could throw an error