CPExpression and CPPredicate can't handle nil as argument in method isEqual:

CPExpression and CPPredicate with subclasses will crash when nil is sent as argument to method isEqual:

I have added test cases and fixes for the problem. I have also added a test cases for CPObjects isEqual: method.