Closes #787: allow @interface/@protocol/etc. in more places in ObjC; add @optional keyword
Closes #787: allow @interface/@protocol/etc. in more places in ObjC; add @optional keyword

tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments