Use mock stubs to handle UNIVERSAL methods isa(), does() and can()

This enables these methods to be overridden by other stubs, e.g. if we want isa() to return false for a given class. Also, such calls will now be recorded in the method call history and thus are verifiable.
Change the fix to handle Carp 1.11 & 1.32

Carp 1.11 (in the days of Carp::Heavy) will call ref() on an object. Carp 1.32 will call an object's CARP_TRACE() method if can() returns true. These internal calls show out in the method call history when verify() fails. Stub also needs to handle this. The solution is now to track if the caller is the Mocha class itself, which signifies that it is an internal method call.
v0.21_02

        Enable isa(), DOES() and can() to be stubbed and verified.
        Fix test failure with Carp 1.11 where Carp::Heavy calls ref() on mocks.