implementer: Robust event/property identifcation

Since the previous commit was a hack, and slightly questionable, this
one builds upon it by adding a class with two simple extension methods
for MethodBase objects; IsEvent and IsProperty.

They are used to ensure the correct branches are followed when
generating hookup methods for proxy classes since the IsSpecialName
property is unreliable on interfaces originating in F#.