Add a workaround to compare C++ types in mocked method

The description of types returned by @encode(__typeof__(expr)) and
-[[NSInvocation methodSignature] methodReturnType] are not equals
for C++ objects when building with libc++.

The depth of the recursive expansion of the fields are not the same
and the strings don't compare as equal. So when comparing the types
descriptions in that configuration skip over all the field expansion
since we only care if the types are the same.