Improve OCMOCK_VALUE so it can take constant arguments and expressions

This alters the OCMOCK_VALUE macro to take constant values, e.g. OCMOCK_VALUE(YES) or OCMOCK_VALUE(NSZeroRect).  It should really work with any expression.

It is modeled after the definition of MIN and MAX from NSObjcRuntime.h.  It probably does require GCC or clang, but that MIN/MAX definition has been in the NSObjcRuntime.h header since the OPENSTEP 4.x days, so it should work with most.  It will fall back to the current definition.