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.
My understanding is that Java convention is to name enums the same way as classes. How about `LinkLengthCategory`?