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

This is the same way as Cocoa works.
Also added test cases.

I have a XCode project that I used to check how Cocoa works:
http://mini.carlberg.org/dev/NSStringNullCompare.tgz