New: Added test cases checking that a CPObject, CPExpression and CPPredicate is not equal nil.

CPExpression and CPPredicate can't handle nil as an argument to method isEqual:. These test cases checks that this is working.
Fixed: Method isEqual: can handle nil as an argument for CPExpression and CPPredicate including sub classes.
Merge pull request #1914 from mrcarlberg/predicate_expression_equals_nil

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

Refs #1914.