SMES buildable terminal fix.

-Fixed: Trying to build a terminal without enough cables would leave SMES bugged out until VV'ed.
-Made maximum input and output values depend on a variable instead of a define directly. For VV or future customizable SMESes.
-Made reattempting to charge a bit smoother.
-ion_act()'s explosion is now logged.

And that's it. It's just a 30something lines commit, geez.