RS485/LogisticsPipes — pull request #580 by AartBluestoke (2013-03-03 21:27:52+00:00)
Title: Various bug-fixes and a power API

CRITICAL bugfix: servers won't crash on startup, or dimension reload.
CRITICAL bugfix: fixed derpy code causing HUD to crash clients when other overlay mods were installed.
bugfix: upgrade manager can now be used on request mk 2 pipes.
annoyance bugfix: removed excessive NBT tag warning for things that won't stack.
annoyance bugfix: new items spawned should now spawn in exactly the right place.

adds a power API, which AE uses (or will use in the next release)
once that update is released AE can see inventory, use crafters and pull power from LP.
LP can see inventory, use power sent by AE, and *not* use AE crafters (working on the last is ongoing)

Importing from an auto-crafting table now only pulls 1 per stack, so you can remove a crafting pipe, replace it, and press import, and have a correct recipe, even when there are stacks of materials in the ACT.

Provider pipes, and modules do not send to full crafters.
Better balancing on a sub-request level, taking into acount current ability to craft, and current load on the tables.
-- partial re-write of the crafting tree generation was needed to do this, please report any crafting related bugs seen.

fixed a race condition with route updates where it might of been possible to preserve a stale route.

If an item arrives at a full crafters, and there is no work to be done, it will not be re-ordered.
A crafter mk 3 will flush its internal crafting buffer to the network once all crafting is completed, and the attached inventory is full.

**This last change will mean that some builds, which try to store completed output in the machine as a buffer will not buffer**
This is a deliberate design choice. If you want to buffer, place a supplier and a provider on the same chest, and keep a fixed amount of material in there. the supplier will pull from the crafter and buffer as needed. It will *not* pull from itself.

updated several inventory handlers to use the correct API; should be no visible change, or improved functionality when multiple stacks of items per tick need to be handled.