An HTTP error.
This exception struct is used to represent errors returned by Finch that are not transport or HTTP protocol errors.
@type reason() :: atom() | String.t() | term()
@type t() :: %Finch.Error{__exception__: term(), reason: reason()}