[DNM] - Ports /tg/'s cable and powernet code

Can now cross cables without transferring power between them, and likely also have two 90-degree/diagonal cables cross the same turf without connecting.
May also resolve issues with powernets not updating correctly, in particular when placing diagonal cables.

**Known points**
- [x] Breaker boxes shall be supported again.
- [x] Port /tg/'s solar code.
- [x] Terminals shall reconnect properly if underlying cable is cut and replaced.
- [x] Optional but much desirable: Complete the port of /tg/'s wire system rather than leave it halfdone.
- [x] No power load. Briefly works after round start/breaker/power channel toggling before going to 0. No clue as to why, functions in /tg/'s code base.
- [ ] Power channel toggling on/off when? Currently when APC battery charge is at 0/15/30% of a standard size battery max charge.
- [ ] Restore per APC power balancing.

**Testing**
- [x] Check if Z-level support remains as functional as before.
- [ ] Conduct further local testing.
Thanks for the pointers. Sadly, it's more about finding the time and 
energy, rather than the where and how :P

On 2014-10-20 20:17, mwerezak wrote:
>
> In code/modules/power/apc.dm:
>
> >  	lastused_light = area.usage(LIGHT)
> >  	lastused_equip = area.usage(EQUIP)
> >  	lastused_environ = area.usage(ENVIRON)
> > +	area.clear_usage()
>
> Without knowing anything I would look at where they call 
> |auto_use_power()| if I wanted to figure out what they're doing 
> differently. For us, it's in the master controller and only when the 
> area's powerupdate is non-zero, which is why lastused_* gets zeroed out.
>
> As for the load-balancing I was planning to look into that as well, 
> probably by Wednesday or so. Otherwise, if you want to take a crack at 
> it, the relevant is in powernet/reset() and apc/process() on our 
> master branch. It might help to compare them between v0.1.14 and v0.1.15.
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/Baystation12/Baystation12/pull/6651/files#r19102691>.
>