More abstraction in DeviceTree.
I'm planning to nuke most of it from orbit soon, but might as well keep it in
the history.
Move all state-change logic into new Changes class.
DeviceTree and CommandList are now basically dumb display widgets that get
regenerated every time something changes (much easier than updating them
constantly to track pending changes.)
Clean up identification of the floating master.
Note the drag-and-drop issues in the README