Added comparison macros for comparing two objects for equality.

These can be used in the same manner as KIFTestCondition and
KIFTestWaitCondition. Using these new macros will make logs more
helpful and make writing assertions a little easier.

Error strings contain both the Objective-C expression strings and the
expression values. For instance, if you do:

KIFTestEqual(x.foo, y.bar, ...)

then "x.foo" and "y.bar" will show up in the log output as well as
their actual values.