Fixed: CPNumber>>numberWithBool: breaks CPComparisonPredicate

Commit df2be92 breaks CPComparisonPredicate if one side of the comparison is a property which returns a BOOL.

CPPredicateParser parses literal BOOLs (YES/NO) into 0/1 using CPNumber>>numberWithBool:. CPComparisonPredicate however does not cast a BOOL from a property using numberWithBool:. E.g.

[[YES,NO] filteredArrayUsingPredicate:[CPPredicate predicateWithFormat:'self = YES']]
used to return [true], now it returns [].

This fix addresses the issue by "typecasting" the lhs/rhs values to numbers using CPNumber>>numberWithBool: if they are of type boolean.

Fixes #2028
Merge branch 'refactor-locale' into fix-CPNumber-numberWithBool
Merge pull request #2044 from krodelin/fix-CPNumber-numberWithBool

Fixed: CPNumber>>numberWithBool: breaks CPComparisonPredicate