feat(client/dispatch): `TrySendError<T>: std::error::Error` by cratelyn · Pull Request #3922 · hyperium/hyper

@cratelyn

this commit introduces a `std::error::Error` implementation for
`hyper::client::conn::TrySendError`.

this allows callers of
`hyper::client::conn::http2::SendRequest::try_send_request()` or
`hyper::client::conn::http1::SendRequest::try_send_request()` to box a
`TrySendError<T>` without discarding a potentially recovered message.

a `std::fmt::Display` implementation is added in this commit, because it
is a prerequisite for implementations of `std::error::Error`.

for some previous discussion on this topic, see "_other options_" here:
hyperium#3883 (comment).

Ref: hyperium#3883
Ref: hyperium#3892
Signed-off-by: katelyn martin <git@katelyn.world>