New: CPString 'compare:' method handles nil and CPNull in correct way

This is the same way as Cocoa works.
Also added test case.
New: Sort using descriptors handles nil and CPNull in correct way

This is the same way as Cocoa works.
Also added test case.
Merge pull request #1959 from mrcarlberg/compare_sort_with_null

CPString 'compare:' method and sort using descriptors handles nil and CPNull in correct way
Formatting.

Refs #1959.
Fixed: comparing a CPNumber vs nil or CPNull didn't throw an exception.

In Objective-C, both `[@34 compare:nil]` and `[@34 compare:[CPNull null]]` throw invalid argument exceptions.

This fix makes the same true in Objective-J.

Refs #1959.
Formatting.

Refs #1959.
Test: - CPImage initWithContentsOfFile:nil.