Use the `pass` option when matching routes.

Routes are much easier to refactor if the `pass` option is honoured
when matching routes. When the pass option is defined, positional
arguments will be rekeyed to their matching route element should the
route element be undefined.

Fixes #4359
Merge pull request #4387 from cakephp/pass-params

Use the `pass` option when matching routes.