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.
Just leave the service collection un-touched. Registering it as a IEnumerable just makes it slightly confusing to see what you're attempting to test.