Add the @keypath macro.

This macro can be used for compile-time verified keypaths, in place
of simply using string constants such as when setting up parsers or
KVO.

It is based on the version in EXTobjc found in Reactive Cocoa, but
uses the SetDirection macro dispatch helpers instead of the EXTobjc
metamacros.

I'm considering replacing the gnarly and nigh-unreadable use of the comma operator here with a compound statement expression. My only concern will be ensuring that it optimizes down to just the string in the same way as this version. But this should hopefully work for now.

@sprynmr, @bsneed