First try at undo functionality. It still needs a lot of work. This code should be audited.
Fix bug where TABVIEW would have two subviews. You can't change a PTYTab's root_; it's bound for life.
Deal with closing the last session in a window. Deal with adding a split pane and then undoing closing a split pane
Don't reset exited flag if a shell has a broken pipe
Handle queueing tokens and unblocking task notifier when undoing close session
Prevent undo of closing tmux sessions
Make sessions' unique id's more unique (increasing ints rather than ttys)
Fix bug where window restoration prefs weren't observed
Add a setting for the undo timeout
Clean up odds and ends before merging undo-close code