[panels] move panel layout from Main to LayoutManager, let LayoutManager control panel height.
[panels] Remove obsoleted getPorthole function.
[panels] Rationalize panel-layout setup.
[panels] Use a new settings key 'desktop-panel-layout'.

We need to use a new key since we want to be able to use older versions of Cinnamon; all prior versions of Cinnamon will crash if they don't understand the layout string.
[panels] Force-show hidden panels in panel-edit mode.
[panel] Rationalize panel-barrier handling
[panels] Create panel boxes on demand.
[panels] Introduce layoutManager.topIndex.
[panels] Use topMonitor for the hot corners.
[panels] More flexibility in monitor choice for panels.
[panels] Parse desktop-layout string for preferred monitor for each panel.
[panels] Don't artificially limit the number of panels.
[panels] Let disable/enablePanels handle more than two panels.
[Panel] Allow arbitrary panel placements

(autarkper: only apply changes to some files, out of dalcde's big patch)
(autarkper: with the necessary adapations to make it fit into my model)
[Window Manager] When window-list applet (or equivalent) is not found, use "scale" minimize effect instead of "traditional")

(autarkper: with some refactoring)
[panels] Show MOVE_DROP icon when dragging over panel.
[panels] Position applet tooltips without assuming so much about the current monitor configuration.
[panels] Populate panel menu only on demand.
[panels] Set autohide on/off directly in panel menu.
[panels] Move box-positioning responsibility around.