fix(routeProvider): route matcher should fill parameters or fail

Currently, a `$routeProvider` configured like so:

```
$routeProvider
  .when('/pages/:page/*comment', {template: 'comment'})
  .when('/pages/:page', {template: 'page'})
  .when('/pages', {template: 'index'});
```

Would never reach any of the 'page' or 'index' routes unless they are defined in reverse order. Given that ordering of route matching is not guaranteed to be the same as the definition of `when`s, a fix could be the one in this PR.

With this PR, a route containing parameters __must__ be able to give a value to all parameters to match.

:bangbang: This creates _breaking change_ where locations like `/page/` will __not__ match the route `/page/:id`.