inital commit of dev changes for new routing
commit the missing file...

somehow missed the previous commit
fix IronPipe detection derp
should use .equals to compare enumsets
almost done - now pass arond searchnodes

items are routed the wrong way through iron pipes, somewhere the
routingupdate code is dropping the pipeRoutingConnectionType.
updated routing calcs - mostly done

WARNING: recursive crafting check is currently removed!
MC WILL CRASH if you have a crafting loop - eg blocks->bricks and
abricks-> blocks crafter
re-added the check for infine recusive crafting

made requestTreeNode have a copy-constructor, rather than a copy method,
so that the arrays can be directly initialized to the correct size
don't duplicate the entire tree just to ask how many you need

multiply the amount needed to craft 1 stack by how many stacks you can
craft.
should multiply inital stacksize also
Request updates

treeNodes have parents, subRequests shouldn't be directly manipulated.
various classes are now sortable; aiming to change the list<pair<...>>
into a pre-sorted list (perhaps not, but beign able to compare pipe to
sort them is usefull)

and finally with knowledge of the parent node, you can cross templates
of the list of allowed crafters much more easly.
parentNode needs a null check
crafters with different results are not the same
crafters crafting the same thing are not the same
comparing for equality != prioritizing

prioritizer sorts by priority only

changed the craftingTemplate list to be a too-large arrayList, quicker
to sort, cost:extra ram usage if less than 1/2 your nodes are crafters.
reverte extras always, and only on failed requests
don't create a hashmap during routing

each node gets a simpleID, which incremets each time a pipe is created
this is then used in a bit-array to flag when a specific pipe has been
routed.

also, the lowestCostNode is kept up to date in each step, so the path
isn't needed to be stored.
don't add null craftables
Merge remote-tracking branch 'upstream/Dev' into dev

Conflicts:
	common/logisticspipes/routing/PathFinder.java
	common/logisticspipes/routing/ServerRouter.java
merge extra changes to previous merge

liquidRouter should read SearchNode lists, not IRouter
"this" is part of the routing table.