Silence warnings when passing invocations

When passing invocations that return values, you can end up with
compiler warnings that you're not using the result (for example, when
verifying that an `init` method is called). This isn't ideal, and leads
to having to add ugly `#pragma clang` definitions in your test file.
Instead, we can use the C99 `_Pragma()` function to disable these
warnings inside the macros themselves.
Implement support for converting between NSNumber/NSValue types, but raise if the conversion is not lossless.  Solves a number of problems with different BOOL types ('c' vs 'B') and method signature vs NSValue types which can differ a little in different architectures.
Also add support for comparing opaque pointer types versus the same pointer which knows the contents of the structure.
Adding some tweaks required for the unit tests to complete on MacOS X 10.8.  They would run on the iOS7 simulators but not OSX directly; some tests would end up in infinite recursion.  Using [NSObject class] directly avoids the chance we are using a class which has had all its methods covered up when obtaining the objc_msgForward function, which seemed to be an issue.  Added isBlock to the white list as well, since that would also recurse infinitely otherwise.  With these changes, all the tests pass cleanly when running on 10.8, which none of the OCMock3 versions had for me.
Merge pull request #116 from carllindberg/RunOnMountainLion

Tweaks to allow running on MacOS X 10.8
Merge branch 'SupportSimilarValueTypesOCM3-2' of github.com:carllindberg/ocmock into carllindberg-SupportSimilarValueTypesOCM3-2
Merge branch 'gfontenot-gf-unused-values'
Merge branch 'carllindberg-SupportSimilarValueTypesOCM3-2'
Some refactorings. No functional changes.
Merge remote-tracking branch 'upstream/master'