Split opennet routing table into short links and long links (refactored)

This is similar to split-opennet-routing-table-original, which is better tested, but cleaned up history and with some minor opennet refactoring included. It does appear to work.
Given that this is an idiom that's repeated I wonder if moving the addition to the LRU based on link length to a function that checks it would make sense.