testsolver/testDiagnostics: set required CPU explicitly

One of the tests (line 415) assume the host CPU to be x86_64, and does
not explicitly override the CPU field of the Requirements object. This
causes an assertion error on other architectures, as the expected error
message is only displayed if the host CPU is x86_64.

By manually setting r.cpu = 'x86_64', the test works even on other
archs.
Better error if an invalid interface is a valid alias

Now suggests using the alias: prefix.
Fixed bug finding mirrors for a local feed

We tried to tell the mirror the URL of the feed containing the failed download
to help it find an alternative location, but for local feeds this doesn't make
sense.
Don't print restrictions in force for '0install select --xml'
Added "0install show" command
Updated app support to honour --dry-run

Reported by Tim Cuthbertson.
Show all actions for "0install add --dry-run"
Disable GUI mode when using --dry-run

The GUI doesn't provide dry-run support, and it's not clear how it would work.
Updated stores to support --dry-run

Before, we refused to download anything when doing a dry run. Now, downloads
are allowed but writing them to the cache isn't.
Clear ConsoleHandler output before printing dry run messages
Don't do background update checks with --dry-run
Don't mark as a feed as being checked during a dry run
Always import print_function

Using the statement form doesn't allow ConsoleHandler to override it.
Documented --dry-run in the man page
Add gpg to DarwinDistribution

Make it possible to find /usr/local/bin/gpg on Darwin,
if it has been installed through a package or homebrew.
The name of the package is "gnupg" or possibly "gnupg2"
if instead checking for /usr/local/bin/gpg2 executable.
Remove console download progress indicator when done
Show which cache files would be updated with --dry-run
Show more information about downloads and keys with --dry-run
Ignore any 0store-secure-add-helper when using $ZEROINSTALL_PORTABLE_BASE
Added unit-tests for PackageKit 0.6 API