Don't call self.load() from registry.register() to avoid recursion.

Presently registry.load() imports provider modules, and each module calls
registry.register(), which itself calls self.load().  The result is that
self.load() attempts to import the entire list of modules once for each
provider module that calls registry.register().

The recursion doesn't hurt because already-imported modules don't run again,
but it would be better to avoid it, and there's no reason for 
registry.register() to call self.load()