ISided crafting pipes

Instead of directly accessing the IInventory, have crafting pipes check all sides of a ISidedInventory for the wanted output.
Fixes #367
Requires TE machines to be set up slightly differently with crafting pipes (they need to be set so the wanted output slot is visible from some side).