Upgrade perl version prereq to 5.010001

This is the minimum version required to use 'experimental' pragma with smartmatching.
Remove POD for internal modules so they don't appear in Metacpan

This change was needed because the documentation for internal modules still appeared in Metacpan even though they were marked as hidden (with MetaNoIndex).

Pod coverage tests needed to be customised so that only the public modules are checked.
Exclude DZP-git.* files from the distribution when released to CPAN

These are log files produced by Dist::Zilla::Plugin::Git::Commit.
Make ArgumentMatchers string overloadable

Make output for verify() with argument matchers more readable.
Remove redundant tests
Changed stubbing behaviour to match python-mockito

 - Newer stubs take precedence over older stubs.
 - Last stub execution persists (does not get shifted off the queue).
 - then_die() will croak - error can be traced back to user test script (for debugging)
Add Support section to POD
Change stubbing functions from when->then_return to stub->returns

when() is not a good function name because it clashes with given/when switch statements. It is overridden if given/when is enabled. It will also cause confusion and errors.

when() has been kept for backwards compatibility but it must be imported explicitly.
Shorten attribute names

This is in line with the goal of this framework to reduce barriers to testing. Shortening the attribute names means less typing if users ever need to access these attributes.
Remove POD for deprecated functions
v0.10

        Changed when->then_return to stub->returns.
        Changed stubbing behaviour to match Mockito.
         - The last stubbed response persists.
         - New stubs take precedence over oldder stubs.