Support optional route constraints in MVC

This PR
1. Adds tests for inline constraint
2. Fixes tests broken by Routing change for inline constraints

The convention that we want to start following for controller classes is that they are named like:
`<featurename>_<domain>Controller

If you want to know why, just look at how many products controllers there are in the code. It's hard to search. So this would be something like `InlineConstraints_ProductsController`.