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.
this isn't something we're spending time on in general. It's part of the public by default, unsealed by default principle.