Fixed: shouldSelectRow was called with selectionIndexesForProposedSelection

Previously the method shouldSelectRow was called even it's the method selectionIndexesForProposedSelection was implemented by the delegate. Now it works as in Cocoa.
The method selectionIndexesForProposedSelection is called when it has to be called, like in Cocoa.
This PR adds new methods to check and call the delegate/datasource methods more easily

Test app in Tests/Manual/TableTest/DelegateSelectionTest/
Removed comments
Added method selectionIndexesForProposedSelection in CPOutlineView
Changed naming of the private delegate call. Fixed small bugs
Delegate WillDisplayView is called before setNeedsDisplay now
Optimization with menu. Fixed issue with unsigned bit and delegate Fixed #1994
Merge pull request #2003 from Dogild/refactor-tableView

Fixed: shouldSelectRow was called with selectionIndexesForProposedSelect...
Merge remote-tracking branch 'upstream/master'