Preserve square brackets in option names - they denote extensions

A protocol buffer option can refer to an extension field by enclosing the field name in square brackets. Currently brackets are discarded and there is no way for the caller to know they were there. This PR restores the brackets for this case. Note that this is a breaking change, but since the ability to query options was only added recently the risk seems low.