Refactor route specs
Fix route matcher to fully work with non-string params

When using a string to specify controller and action, other parameters
needed to be specified as strings. This commit fixes `route` so that
this does not need to be the case.
Ensure route matcher works with namespaced controllers