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
and, yeah, this is definitely going to get hard to read. how about:

    available tools:
        2.2.0-quantal-amd64
        2.2.2-quantal-i386
        2.2.3-quantal-amd64
    best version:
        2.2.3

and then either:

    started upgrade to 2.2.3

or

    to upgrade to this version, run
        juju upgrade-juju --version=2.2.3