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.