Goal
Refactor remote URL provider selection to a registry-based pattern so new providers can be added with minimal core changes.
Scope
- Introduce a provider registry abstraction in
qdp-core remote I/O path.
- Register current providers (
s3, gs) via provider factories.
- Replace direct scheme
match logic with registry lookup.
- Keep current behavior unchanged:
- supported schemes remain
s3://, gs://
- query/fragment remains unsupported
- temp-file download flow remains unchanged
- Add/adjust tests for:
- known scheme resolution
- unknown scheme rejection
- provider registration behavior