* Introducing repository and refactoring services.
Changing entities to use int keys everywhere.
* Refactoring application services to live in web project and only reference repositories, not EF contexts.
* Cleaning up implementations
* Moving logic out of CatalogController
Moving entity knowledge out of viewmodels.
* Implementing specification includes better for catalogservice
* Cleaning up and adding specification unit tests