Route matching should only prefer later routes if version is greater

The previous logic would prefer a later route if the max version
satisfying the request was greater than ANY version of the previously
matched route. This fixes the logic to only compare the max version
satisfying the request of previous candidates.
Merge tag 'v2.7.0' into version-matching
Merge pull request #570 from brycekahle/version-matching

Route matching should only prefer later routes if version is greater