Subsystem restructuring. Please avoid merging stuff which would conflict with this. This took days to update.

some recent merges were lost due to entire conflicting files. I did ask nicely.
oh now I know (I hate the way there's not button to expand the diff downwards on github).
That sleep is just there because of the sleep offline bit. I got tired of my local servers going to sleep before I connected and then having to wake up again when I connected. It causes my computer to hang for a while.
It wont affect anybody adversely