Warn about replaced interfaces in "0install update"
Changed PackageKit warning to info

Ubuntu's PackageKit replacement seems to return lots of unconnected packages
without version numbers, leading to errors such as:

WARNING:packagekit:Can't parse distribution version '' for package 'dpkg-exec'

Change this to INFO level so that it is not shown by default.

Requested by Michel Alexandre Salim.
Make sure the temporary .new files are cleaned up if feed validation fails
Don't keep trying to check failed feeds that we never had

Normally, if fetching a feed failed within the last hour then we
don't try again. But if we never managed to fetch the feed then we
always retried.
Updated background updater to use driver API
Fixed error solving with optional dependencies

If the dependency contained no implementations and we needed to choose the
next variable to try, the result was:

File ".../zeroinstall/injector/solver.py", line 571, in find_undecided
   group = group_clause_for[uri]
KeyError: u'...'

This could easily happen if the feed for the dependency wasn't cached yet.

Reported by Tim Cuthbertson.
Release 1.7
Start development series 1.7-post
Updated old code from Policy to Driver API
Try x-terminal-emulator first for <needs-terminal>

Reported by Dave Abrahams.
Fixed epydoc
Relax distribution version numbers
Better error reason "Not source code"

If we were looking for source code, we reported "Unsupported machine type" for
binaries, which was confusing.

Reported by Dave Abrahams.
Assume everything supports POSIX (except Windows)
Use terminal instead of xterm, when running with quartz
Allow command_name to be None if user_command is given

"0test -t" needs this.
Added Selection.get_path()

Also, this gives a better error message when an implementation has no digests
(reported by Dave Abrahams).
Recognise "../" as the start of a relative path too
/dev/null => os.devnull, for portability
Removed unused imports