cmd/jujud: retry upgrades on failure

Given that we currently have no way of rolling back upgrades it's worth retrying upgrades in case of transient errors. Logging around upgrades has been improved a bit as well.

Future changes will improve the handling of upgrade error reporting further (via agent status).