Azure shared caching w/ new Azure project

New services, include cache service that uses either the Azure cache if available (i.e. if running in Azure or the Azure emulator) or local http cache.  Built a course service as an example of how to dynamically lazy get courses.

Note in order to use the full Azure shared cache we will need to deploy using Azure cloud services, though we can develop without it.