Test rest of routes after an unauthorized one

Now when a route is not authorized, rest of routes will be tested if any can be matched.
Plus made some changes so that any usage of router.route is backward compatible, however it's not recommended to use router.route directly directly.
If a handler registered through "router.route" matched, it's callback will be invoked and we assume callback succeeds in whatever it does.