Refactor route params

The main goal of these refactors is to stop overriding `_routeToRegExp`, which will make the BaseRouter a little less brittle to Router changes. 

There were also several other refactors that I added to the PR. Some of them were discretionary nice-to-haves. Others went hand in hand with some of the changes.