Fixes #1559. Nested split view autosave and better override support.
Fixes #1559. Nested split view autosave and better override support.

Nested split views now correctly restore their divider positions by restoring "top down". E.g. a nesting split view is restored before the nested split view so that the nested split view has the correct frame size for the position it is restoring.

This commit also makes it easier to override autosave restores in a subclass or a controller's `viewDidLoad`. Now if `setPosition:ofDividerAtIndex:` is called after the split view's `initWithCoder:` has finished, but before the final autosave restore has occurred, the autosave restore is cancelled. This preserves whatever the modification the programmer intended to make instead of overwriting it with the autosaved position.

This commit also fixes a bug where an autosaved position would not be restored, or would be restored at an unexpected time, if `setFrameSize:` was not sent to the split view shortly after its `initWithCoder:`. (Such a `setFrameSize:` message is often sent due to a window `setFullPlatformWindow:` call in `AppController.j`'s `awakeFromCib`, but it's not necessarily sent.)

tolmasky/cappuccino,krodelin/cappuccino,primalmotion/cappuccino,enquora/cappuccino,rgv151/cappuccino,daboe01/cappuccino,cappuccino/cappuccino,rgv151/cappuccino,deltaprojects/cappuccino,wangshijin/cappuccino,tolmasky/cappuccino,zittix/cappuccino,mrcarlberg/cappuccino,deltaprojects/cappuccino,zittix/cappuccino,enquora/cappuccino,enquora/cappuccino,tancred/cappuccino,mrcarlberg/cappuccino,deltaprojects/cappuccino,Dogild/cappuccino,primalmotion/cappuccino,Dogild/cappuccino,deltaprojects/cappuccino,daboe01/cappuccino,krodelin/cappuccino,rgv151/cappuccino,kidaa/cappuccino,FrankReh/cappuccino,FrankReh/cappuccino,Rosch/cappuccino,deltaprojects/cappuccino,Rosch/cappuccino,Dogild/cappuccino,wangshijin/cappuccino,krodelin/cappuccino,cacaodev/cappuccino,cacaodev/cappuccino,krodelin/cappuccino,deltaprojects/cappuccino,mrcarlberg/cappuccino,wangshijin/cappuccino,kidaa/cappuccino,tolmasky/cappuccino,kidaa/cappuccino,enquora/cappuccino,Dogild/cappuccino,kidaa/cappuccino,cappuccino/cappuccino,primalmotion/cappuccino,Rosch/cappuccino,krodelin/cappuccino,daboe01/cappuccino,wangshijin/cappuccino,cappuccino/cappuccino,mrcarlberg/cappuccino,primalmotion/cappuccino,cacaodev/cappuccino,cacaodev/cappuccino,mrcarlberg/cappuccino,AlexanderMazaletskiy/cappuccino,koamac/Cappuccino,cappuccino/cappuccino,FrankReh/cappuccino,koamac/Cappuccino,tancred/cappuccino,cappuccino/cappuccino,FrankReh/cappuccino,cappuccino/cappuccino,wangshijin/cappuccino,mrcarlberg/cappuccino,zittix/cappuccino,Rosch/cappuccino,cacaodev/cappuccino,Dogild/cappuccino,FrankReh/cappuccino,koamac/Cappuccino,primalmotion/cappuccino,daboe01/cappuccino,deltaprojects/cappuccino,zittix/cappuccino,AlexanderMazaletskiy/cappuccino,AlexanderMazaletskiy/cappuccino,AlexanderMazaletskiy/cappuccino,koamac/Cappuccino,FrankReh/cappuccino,zittix/cappuccino,enquora/cappuccino,koamac/Cappuccino,daboe01/cappuccino,kidaa/cappuccino,AlexanderMazaletskiy/cappuccino,tancred/cappuccino,tancred/cappuccino,mrcarlberg/cappuccino,tolmasky/cappuccino,rgv151/cappuccino,enquora/cappuccino,zittix/cappuccino,kidaa/cappuccino,FrankReh/cappuccino,daboe01/cappuccino,rgv151/cappuccino,tancred/cappuccino,Rosch/cappuccino,Rosch/cappuccino,mrcarlberg/cappuccino,cacaodev/cappuccino,wangshijin/cappuccino,tancred/cappuccino,cappuccino/cappuccino,krodelin/cappuccino,Rosch/cappuccino,Dogild/cappuccino,primalmotion/cappuccino,cacaodev/cappuccino,krodelin/cappuccino,rgv151/cappuccino,zittix/cappuccino,koamac/Cappuccino,primalmotion/cappuccino,tolmasky/cappuccino,rgv151/cappuccino,FrankReh/cappuccino,AlexanderMazaletskiy/cappuccino,enquora/cappuccino,Dogild/cappuccino,daboe01/cappuccino