Move memoization to top-level `get-route' construct

`router/get-route' is referentially transparent, so there's no cost to moving
memoziation up the stack a bit.
Merge pull request #1 from ulises/rework-memoization

Move memoization to top-level `get-route' construct