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.
Fixes #6820

Readds missing check, makes hoverpods their own mech type and moves them
to another folder.
Generalizes the telecommunication reception check.

Also happens to fix a bug where a Detomax could blow up PDAs without reception.
Changes a couple of type checks to access checks.
Fixes turbine computers disappearing when broken/out of power.
adds an ex_act to ore boxes. Explosions no longer del all the ore in a box
Fixes #6822
incorporates Zuhayr's suggestion
Cleans up hovererpod move code, adds ion trails

No need to duplicate the mecha move code when we're only interested in
drifting. The hoverpod also starts drifting when it runs out of power,
now.
Moves /obj/machinery/turretid to its own class/file.
Nabs /tg/ support procs and defines.
Moves down target assessment into machinery.