Route model

A (initially undefined) persistent `routeModel` argument is passed sequentially through each route match setup function in hierarchical sequence (if any exist) and eventually passed to the route end-point module's controller. Because `routeModel` is persistent, your controller can make changes to the model that persist across route changes, and setup functions defined in your Moria route hierarchy can modify or reset the model.