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.

upgrade: Revise check-diff with fixes and eliminate a for loop

This update fixes some small bugs including checking for error and
moving small pieces of code.  It also elimates the need to cycle
through checksums of refs by calling ostree_repo_load_variant_if_exists
and seeing if it succeeds in loading an object.