Refactored #shouldReceive and #shouldNotReceive

Now proxies to expect().toReceive and expect().notToReceive.

Also refactored how method stubs are created, which as a side effect
required changing the behaviour of Spec.Util.extend to prevent it from
overwriting MethodStub.stub