GuardMgr: Log significant guard/bridge status changes at info/warn
From the final commit message:
We previously had a trace message on every change. That's fine, but we also want to log more important changes where the user can see them. Namely:
- If we go from any other status to Reachable, we want to tell the user. (We don't want to spam them if it was already reachable.)
- If we go from Untried or Reachable to Unreachable, we want to tell the user. (We don't tell them about changes from Retriable to Unreachable, since that just means that a retry attempt was not successful.)
This branch also adds a debug!() on every channel attempt (channel failures are already logged), and does some refactoring to un-conflate a couple of Reachable
states.
This MR is based on !868 (merged); please don't merge it until !868 (merged) is reviewed. (Marking Draft for that reason.)
Closes #627 (closed).