Fix addpath selection performance
As it turns out, the two selection modes operate under completely
different assuptions, rendering
AddPathAbstractRouteEntry.selectBest() utterly useless.
Specialize N-path and All-path selectors to operate in the offset
order, which makes it clear OffsetMap.getRouteKeys() is unneeded
and that a simple offset-based helper,
AddPathAbstractRouteEntry.processOffset() is all that we need to
efficiently select paths.
Also switch N-path to use int, which is more than enough to cover
the uint8 range we really need.
The end result is that we make minimal memory allocations to
fulfill the needed functionality while also improving access
locality, while side-stepping offsetOf() searches.
For bonus points, we get to completely hide RouteKey, OffsetMap,
the AddPathBestPath constructor and all AddPathAbstractRouteEntry
fields.
Change-Id: Ia68cd3f88aef04a04506f3a2cc96d04485c19ad9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>