Added a validateTree method on first fetch, Ticket0497
Added validation for first branch in validateTree, Ticket0497
Basic validation before saving a branch to server, Ticket0497
First implementation of the Orchestrator, Ticket0564
Orchestrator correctly delegates saving to server, Ticket0564
Orchestrator intercepts destroy call and process them
Actually, it breaks decreaseRankOfFollowing
Also updated validation function
BugFix: context was lost in keyboard binding in crown view
Swap direct call to Branch.save with orchestrator.triggerAction, Ticket0564
* This was only done where appropriate
  - ie Not for updateContent
Actual validation method causes lots of problems, Ticket0565
Action like jumpPositionUp triggers many change on the tree and validation fails if not all those change are taken into account before validating one given model
Implemented savingQueue processing, Ticket0564
- Action are grouped. savingQueue is processed 600ms after the last action happened
- Validation has been moved in the savingQueue process
- Process can either accept or reject all changes
  - Reject is actually based on undo. This is not a long term solution
Event triggered after any action in dispatchFunction (TreeView), Ticket0564
First implementation of a shortcutTimer, Ticket0524
Fix timer that I broke.
Fixed details introduced implementing timer for Ticket0524
* Create at beginning of note seems to cause some issue. Not sure if it comes from the timer, will have to investigate
Improved how the Orchestrator process savingQueue, Ticket0564
- Still relies on undo which doesn't handle his job well
- acceptChanges doesn't do anything yet.
acceptChanges now pushes changes to server, Ticket0564
rejectChanges throw an exception instead of trying to undo, Ticket0564
This is a temporary solution as well. Working on other ticket will test the implementation and lead to further revisit
Validation (Ticket0565) will also need some testing before calling it 'ready'
Ticket0559: Extract the cursorPosition API
First implentation of export to plain text, Ticket0267
Export basically works, but the UI isn't there yet
Added a selectContent method to the cursor API