Allow DataSource providers to be added by plugins

Providers can be added by passing them to DataSourceRepository.register