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 explicit dependencies on (and instances of, though that's been mitigated with the global registry) tilelive.  (This also also allows tilelive facades, such as [tilelive-cache](https://github.com/mojodna/tilelive-cache), to be provided instead.)

This detects the form of a provider and registers it appropriately.