Cope with Debian's new Java version numbering scheme
"0install select" now always does a fresh selection

Before, if it was used with an app and no additional requirements, it just
showed the current selections. But now, use "0install show" for that.

For apps, it now shows what changed too, and prompts you to use "0install
update" to save the changes if either the requirements or the selections
changed (before, it only prompted if the requirements had changed).
Use existing requirements in "0install select app"

Before, we only took the URI from the app when selecting and ignored any other
saved requirements.
Add support for --user to freedesktop.org config
Work around for another PyGTK GC bug

Reported by Tim Cuthbertson.
Fixed error message when an interface doesn't exist

Was broken by a99b0fad2d111. Reported by Tim Cuthbertson.
Fixed missing close in "0store optimise"

Was leaking file descriptors for old-style "sha1" manifests.
Added <for-each> syntax for arguments

This makes it possible to expand an environment variable into a list of arguments.

e.g.

      <for-each item-from="EXTRA_OPTIONS" separator=" ">
	<arg>-X</arg>
	<arg>${item}</arg>
      </for-each>
Detect .NET Framework installations on Windows as <package-implementation>s