Behaviour for the low-level HTTP transport used by StarlingBank.HTTP.Client.
The default implementation (StarlingBank.HTTP.Transport.Httpc) uses
Erlang's built-in :httpc/:ssl, so StarlingBank has zero required
runtime HTTP dependencies. Tests inject StarlingBank.HTTP.Transport.Fake
(or any other module implementing this behaviour) via
StarlingBank.Config{transport: ...}.