feat: use longer path first

This patch makes the following example (from the angular.js tutorial
step 7) work.

```dart
router.root
  ..addRoute({
    'name': 'phonesList',
    'path': 'phones',
    'enter': (_) => ...
  })
  ..addRoute({
    'name': 'phoneDetail',
    'path': 'phones/:phoneId',
    'enter': (\_) => ...
  });
```

see: https://github.com/angular/angular.dart/pull/533