BROKEN: change to cache providers

merged ExitRoute,SearchNode also; needed the distance metric for
abitrary nodes to sort the resulting providers.

-- current symptom: no request works. provider shows what is there, but
everything is beign filterd. (see breakpoint at requestManager:303
(check provider) when you have a chest, a provider pipe, a request pipe
and a wrench.
special case handling

routers are equal distance are not the same;

different networks will have null exitRoutes to each other, filter the
null's early.
caching for crafters, providers

caching should result in much faster crafting /providing requests
firewalls, extractors, qsorts don't take advantage of this, yet.
re-routing, and a few other things still running the full list; to be
fixed, but most of the cpu usage is now cached.

semi-final sink-check  (module.sinksItem()) now runs via itemIdentifer,
and routedItems store their ID allong with their item. -- this should
switch to use the cache soon.