created a power api, and protected against recursive requests.

also removed IPowerRouter, as that was an interface nothing used, or was
ever able to, as the use of actual routers was embeded too deeply, and
its not possible to have a router which doesn't know about power.

main changes are the boolean useEnergy(int amount, List<Object>
providersToIgnore) , which in which powerProviders should check that
they are not on the list before passing on.
Pipes do not add themselves to the list, to make normal operation with
no recursion a simple null-check; they expect all ILogisticsRouters,
which they unconditionally defer to, to do the inclusion check)
The logistics power junction does not need to add themselves to the list
either, as they never recurse.

net effect: no extra cpu load for LP, other networks can add power
sources, and potentially be powered by LP without worying about
recursion effects.