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.
Mirror Science

Future science to explain magic hair-corrective abilities.
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.
AI emotions and status displays

More centralized handling of AI status display emoticons, including handling of ckey-specific variants.
Breaks out the AI-specific implementation of status displays to its own file.
The AI can now also set individual statuses for its status screens by clicking them.
Moves /obj/machinery/turretid to its own class/file.