Fix OCMockClassObject failing to clean up when mocking the same selector more than once

This change fixes a nasty bug occuring when mocking the same method twice. This is useful when you want to expect a message to be sent with specific arguments, but reject the same message with other arguments.

In this case, `expect` attempts to mock the method, and `reject` attempts it too. It works perfectly - except that on cleanup the "original selector" entry will have been overridden by the second mock attempt, thus loosing the reference to the original selector.

This commit fixes the issue, and add tests for it.