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: RelativeDateFormating didn't work in January and was inaccurate for some time intervals around when daylight saving time changed.
Fixed : CPDatePicker textual issues

This PR fixes several issues about the textual CPDatePicker :
- Fixed the issue about keyView loop when not assigning the nextKeyView
- Changed the behavior of the component when editing or deleting the date. It works as in cocoa now.
- Fixed bug about frameSize of each component when editing
- Fixed bug about NaN or null values
- Added optimization
- Refactoring the code
Merge pull request #2032 from Dogild/protocolAlert

New : Added protocol CPAlertDelegate