Adds RequestHooks trait to enable intercepting and modifying S3 API
requests at key points in the request lifecycle. This enables implementing
cross-cutting concerns like load balancing, telemetry, and debug logging
without modifying the core request handling logic.
---------
Co-authored-by: Tobias Pütz <tobias@minio.io>
Adopt the typed-builder crate throughout the S3 API to provide compile-time
validation of builder patterns. This change improves type safety and developer
experience when constructing S3 API requests.