Fixed: CPWindows contentView Autoresizes Subviews set in Cib is now honoured

Currently when a window is decoded from a cib, the contentView is set to always auto resize its subviews regardless of the setting in IB.
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.
Fixed: in certain degenerate cases, CPTextField may not have a window within _isWithinUsablePlatformRect

Previously, a case could arise where a text field was set as the initial first responder but during cib loading was not yet assigned to a window. In this case _isWithinUsablePlatformRect would fail.

Now _isWithinUsablePlatformRect checks to make sure the text field has a window.
Fixed: CPImageView's _DOMImageElement was not created during initWithCoder.

Previously, _createDOMImageElement was not called until after [super initWithCoder] was called. But that call would end up in CPImageView -setObjectValue, which would attempt to access _DOMImageElement before it had been created.

Now _DOMImageElement is checked before being accessed or created.
Fixed: nib2cib did not allow xibs or images to be in subdirectories of Resources.

Previously, nib2cib would not correctly calculate the app/resource directories if the xib was in a subdirectory of Resources. Also, image resources in subdirectories did not have the subdirectory encoded with the image name.

Now xibs and images may be anywhere under Resources.

Fixes #1960.
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.
Formatting: @ignore requires /*! comment, whitespace cleanup
Fixed: viewDidHide and viewDidUnhide were not called when being added to/removed from hidden ancestor.

Cocoa specifies that viewDidHide will be called when an unhidden view is added to a view hierarchy with a hidden ancestor view, and viewDidUnhide is called when an unhidden view is removed from a view hierarchy with a hidden ancestor view. This was not the case in Cappuccino.

This commit adds that functionality, and also removes a spurious viewDidHide/viewDidUnhide call that was generated as a side effect in initWithCoder.
Fixed: CPTextField would not become/resign key responder when first responder and unhidden/hidden.

Previously, no attempt was made to become/resign first key responder when a CPTextField was unhidden/hidden. This could lead to a case where a hidden CPTextField was made first responder, then unhidden (and have a focus ring), but would not receive key input.
Fixed: it seems setHidden must be called in CPView -initWithCoder.

Reverts change made in 64f962e29a713c8befc3c5d40cbd87ac3d4042f8.
Fixed: CPTimer number of seconds interval set to 0.1 if less than or equal to 0.0

Cocoa specs here:
 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer.html
...
"Parameters
seconds
The number of seconds between firings of the timer. If seconds is less than or equal to 0.0, this method chooses the nonnegative value of 0.1 milliseconds instead."
Merge pull request #1962 from BlairDuncan/CPTimerMinimumInterval

Fixed: CPTimer number of seconds interval set to 0.1 if less than or equal to 0.0
Fixed: changed magic number to constant, add missing space after comma.
Fixed: extraneous colon in https scheme test.

And whitespace formatting.
Docs: typos