Implement navigable option on route config for aliased routing

This introduces a new option on a route config that enables
flagging a route as `navigable`. The fragment passed in can be
the `id` of a route where `navigable` is true and it will
use the route defined on the config. Otherwise the fragment
passes through as normal.