giant error reporting refactor
Currently the actual cause of reqwest errors isn't shown in the Display
impl, which is infuriating if you're trying to debug a federation networking problem. The cause is exposed in the source chain, and we should be logging at least the first source (especially when debug logs are enabled).
So... I made some macros to log the source chain and changed every single place that we log an error to use them. Also finally did the use tracing as t;
thing we've been talking about and rewrote most of the error display strings to be less awful.
Bikeshedding encouraged on all of this, particularly the interface of observability::prelude
because that's going to be a pain to change.
Edited by Olivia Lee