Remove usage of optional arguments to public methods #779

Modifies the IRepository.cs and Repository.cs files to remove the optional parameters from the various method signatures.  This will help address potential versioning issues. 
Please move this implementation to `RepositoryExtensions`