Changed to shmock-native static mocking strategy

Shmock is moving away from PHPUnit's mocking framework in order
to be able to take greater control over the mocking experience.
However, this requires a breaking change to the Shmock API,
and for that reason, this is the first commit in developing
2.0.x.

To verify that Shmocked objects have met all their expectations,
you must invoke Shmock::verify() at the end of each test case. This
is because we can't hook into PHPUnit's hardcoded mock lifecycle.