einable/disable layout rotation on swapscreen()

set/unset #define SWAPSCREEN_LAYOUT in config
refactor swapscreen()

use modulo instead of two loops
refactor config.def.h

Set volume management configuration only if it is used.
This can save ~30 bytes from the executable.
fix layout rotation on swapscreen()

The selected workspace is 1-based because of the invisible stack
(workspace 0), but the layout array is 0-based - yuck!