added dry run support for upgrade-juju

Fix for https://bugs.launchpad.net/juju-core/+bug/1272544.

Added a --dry flag to the upgrade-juju command. When --dry is specified the action to be taken is output to Stderr. Added two tests to check that this information gets output and that the agent version's aren't changed after running the command with --dry
Seems that most of this code is common between the two tests. Can you please make them actually common? Either with a separate suite, or just a helper function to set up, or maybe a parameterised test.