Replace custom errors with anyhow
So much simpler, the whole thing... anyhow::Result is now our general Result<> and wherever we have one we can attach context to it. Together with ? this means we can now skip our own Err handling and instead just eventually print the error once we fall back to main.
Plus ensure! and bail! are much simpler to use than the previous approach.