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
Arguably nothing should be relying on the default value of `version.Current` ever, but still, the convention is to use PatchValue to change things like global values. This would be important if someone wants to change the value in SetUpSuite, and expect all tests to see that as the default.

```go
s.PatchValue(&version.Current, ...
```