Switched to the official PHPUnit Prophecy integration

This official integration makes things a bit better than the manual integration you made. If a ``shouldBeCalled()`` prediction fails, it marks the test as failed rather than errored.

I also updated the PHPUnit constraint to use 4.x rather than the old 3.7