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.
Message needs some love, because we want it to be totally clear what you need to do. Should probably be more like:

> Unable to find the required services. Please add all the required services by calling IAppBuilder.AddMvc() inside the call to IAppBuilder.UseServices(...) in the application startup code.


/cc @Eilon who is deeply passionate about error messages.