Added IoC interfaces.  Nuget auto restore

Added interfaces to allow injection and mocking.
Setup test to use nuget packages to allow easier setup