Support `auto` for modules that export factories

Most of my tilelive modules export factories rather than providers directly in order to reduce the proliferation of dependencies on (and instances of, though that's been mitigated with the global registry) tilelive.

This detects the form of a provider and registers it appropriately.