Throw a better exception when the user didn't add the MVC services

Issue #347 - Added a check in UseMvc() to verify if AddMvc() was called before.
Added functional tests for the same.
It might be better to define a transient marker service specifically for this purpose so there are no wierd interactions. 

For instance `IActionDescriptorsCollectionProvider` might have another dependencies that also now get eagerly instantiated. Even if this is not a problem now, it might introduce a bug later if we change the implementation - **or worse* it could break a user-defined implementation.

Also `IInlineConstraintResolver` is defined by routing, and has its own extension methods in routing to add it if you're not using MVC, leading to a false positive.