Routes can be case-insensitive based on a config setting.

* New config setting `routes.case_sensitive` 
* `routes.case_sensitive` defaults to `true`
* Setting `routes.case_sensitive` to `true` by default will not break BC for users who rely on case-sensitive routes
* Setting `routes.case_sensitive` = `false` allows routes to be case-insensitive