Pulled crud methods out into ICrudRepository

I will use this later after some more refactoring for repositories like
AzureBlobRepository that just do the basic CRUD operations and don't
handle queries like Find or FindAll
Moved argument null check to base class

Fixes #100