Change dies() to throws()

dies() is in the passive voice. This is inconsistent with the other stubbing methods. throws() is better because it is in the active voice.
Change documentation and tests to new interface for stub(), verify() and inspect()

Method calls will now be called on the mock itself, rather than separating the method call from the mock. This makes for a cleaner syntax. But the call needs to be wrapped in a coderef so we can catch exception throws and to track whether the call was real or not.
Implement the interface change
Ensure backwards compatibility
Fill test coverage

 - Mocks now accept type constraints as method arguments.
 - Verify that exceptions do not trace back to internal Mocha modules.
 - No longer supports Carp 1.11.
v0.49_01

        Major interface change.
         - dies() is now called throws().
         - verify() is now called_ok().
         - stub(), called_ok() and inspect() now take a coderef with a method
           spec instead of a mock object.
         - Backwards compatibility has been maintained with deprecation
           warnings.
        Carp 1.11 is no longer supported.