Allow dynamic mounting with `.use`.

Retains params from the parent application.
Add tests for dynamic mounting.
Remove redundant `.all` function.
Clean up code and syntax issues.
Merge pull request #1964 from blakeembrey/modular-routing

keep route params from previous middleware matches
update license year, tired of all the fluff issues about this