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).