upgrade: check-diff to display package diff for new version

    This new option has the same functionality as check-only, but if a
    new version is available, it will download but not deploy it, and
    print a package-level diff.  This allows sysadmins to see exactly
    which packages will be changed on upgrade.  If the user does then
    decide to upgrade, it prevents re-downloading the verison by
    deploying the already-downloaded data under the same checksum
    with an incremented deploy serial.