Initial version of the DataProvider abstract class. Also included is a generic diagnostics class which logs the exceptions thrown in the Repository class.