[chronik-client] Do not try next server if error is unrelated to server outage
Summary:
chronik-client is treating legitimate errors as server connection errors (for example, trying to get a block that does not exist, or a tx that fails to broadcast in NNG)
Server connection errors have a code key while chronik method errors do not. Use this instead of a string check which conflicts with other types of chronik errors.
This supersedes D15150
Test Plan: See test plan in D14915 or let CI build it. Ref draft D15210 which tests this against a method where chronik is expected to fail for non-server reasons.
Reviewers: #bitcoin_abc, Fabien, emack
Reviewed By: #bitcoin_abc, Fabien, emack
Subscribers: emack, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D15211