Reordered and renamed machine agent upgrade tests for clarity
cmd/jujud: added supporting logic to have state servers sync before starting upgrades

This change has no functional impact but implements the machine agent
changes to make state machine agents wait for each other to be ready
before proceeding with an upgrade. Right now no wait is actually
performed. TODOs have been inserted for the parts that rely on
upcoming changes.
Clarified handling of data in upgradeWorkerContext

Keep everything in the struct instead of attaching some bits to the
struct and passing other bits around. Make the code clearer by using a
bool to explicitly say when an upgrade is running on a state server.
Merge pull request #407 from mjs/pre-upgrade-state-machine-sync-prep

cmd/jujud: added supporting logic to have state servers sync before starting upgrades

This change has no functional impact but implements the machine agent changes to make state machine agents wait for each other to be ready before proceeding with an upgrade. Right now no wait is actually performed. TODOs have been inserted for the parts that rely on upcoming changes.

Note to reviewers: this PR includes 2 commits the first of which is a rearrangement of the machine agent upgrade tests to aid clarity. It may be easier to follow the changes in this PR if the commits are viewed separately.