New : Added protocols CPTableViewDelegate and CPTableViewDataSource

This PR adds protocols CPTableViewDelegate and CPTableViewDataSource

Unit test in Tests/AppKit/CPTableViewTest.j
New : Added protocol CPAlertDelegate

This PR adds the protocol CPAlertDelegate.
The delegate methods are called as we are used to in Cappuccino.
Fixed : Remove unused method
New: Added CPCollectionViewDelegate protocol

This PR adds the protocol CPCollectionViewDelegate.
Also, now the delegate methods are called like we are used to do it in Cappuccino.
New : Added CPApplicationDelegate protocol

This PR add the protocol CPApplicationDelegate
New : Added protocols CPOutlineViewDelegate and CPOutlineViewDataSource

This PR add protocols CPOutlineViewDelegate and CPOutlineViewDataSource
New : Added CPTabViewDelegate protocol

This PR adds the CPTabViewDelegate protocol
New : Added protocol CPToolbarDelegate

This pr adds the protocol CPToolbarDelegate
Also, now, delegate methods are called as we are used to do it in Cappuccino.
Fixed: CPToolbarDelegate protocol do not implement CPObject protocol
Fixed: CPTableViewDelegate and CPTableViewDataSource protocol do not implement CPObject protocol
Fixed: CPTabViewDelegate protocol does not implement CPObject protocol
Fixed: CPOutlineViewDelegate and CPOutlineViewDataSource protocol do not implement CPObject protocol
Fixed: CPCollectionViewDelegate protocol does not implement CPObject protocol
Fixed: CPApplicationDelegate protocol does not implement CPObject protocol
Fixed: CPAlertDelegate protocol does not implement CPObject protocol
Fixed: removed unused test case
Fixed: objectValueForTableColumn and numberOfRowsInTableView are required methods
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
Fixed: RelativeDateFormating didn't work in January and was inaccurate for some time intervals around when daylight saving time changed.
NEW: CPCoding for CPAttributedString