Ports /tg's cable and powernet code to our code base.
Cherry picking breaker box fix.
Adds diagonal cable check on breaker box state change.
Basically ripped over /tg/'s powernet and cable code into our own codebase.

Keeps Z-level code as it was.
Modifies/restores powernet procs as necessary to match our own implementation changes.
/tg/'s solar code with a fix for the solar control computer not refreshing on user input.
Converts all machines relying on RandomAPCWires() to the new wire datum system.
Fixes bad tabbing, only evident when placing Z-crossing cables.
Sets turn-off limits based on a standard cell's max charge
Master controller no longer annihilate powernets, powernets annihilate themselves.

Some misc. changes.
Replaces add_load with draw_power. Issue about silly battery handling remains. Fixes the build-error.
More precise crew monitor map position.
Merge branch 'dev' into PowerTwo

Conflicts:
	code/modules/power/solar.dm
Restores APC load balancing and the autoflag system.
Engineering Dormitory redux

Removes the engineering dormitory.
Replaces it with a washroom and a room with previously lost medical supplies (some gauze rolls and ointment) and some of the wardrobes from the now removes dormitory.
Adds more beds to the public dormitory area.
Can now order plastic sheets.
Changes dd_sortedObjectList() to use mergesort with cached sort values
Pipes cleanup. Removes variables with default values to avoid unnecessary duplicates in the object viewer.
Merge pull request #6852 from GinjaNinja32/sortspeed

Changes dd_sortedObjectList() to use mergesort with cached sort values
Merge pull request #6850 from PsiOmegaDelta/CargoPlastic

Can now order plastic sheets from cargo.
Merge pull request #6849 from PsiOmegaDelta/Engineering

Engineering Dorms Redux