Add an --xml output option to the testrunner
Make the coverage output as --xml as well
Add the .xml test reports to the ignored files
Added "0install search"

This sends the query to the mirror server and displays the results.
Added <remove> recipe step, and added optional `dest` attribute to <archive>

 - remove takes a single "path" attribute, and works on files and folders
 - `dest` unpacks the archive to a subfolder
 - `dest` locations for both <archive> and <rename> steps are created as needed
Added a couple of extra tests for recipes
Don't use mirror if fetching from the mirror fails

If we ask the mirror to send us a complete implementation and it can't,
there's no point asking the mirror if it has a mirror of its own archive.

Was broken by b09bb4a4.
Add a <file> download step, with mandatory href, dest and size attributes
Test "0store add" with a path to extract
Converted remaining classes to be new-style classes

Rope can't record types for old-style classes.
Upgraded last old-style class
Pass a list to check_call, not a string

Prevents Python trying to split the executable path. Looks like the previous
code was trying to do this, but failed because of a missing comma.
Added more epydoc types

These were added using a customised version of Rope. We run the unit-tests and
watch to see what the types actually are at runtime, and then insert any
missing type annotations.

This is the raw, unchecked, output from the script.
Manual fixes to auto-generated type information
Refactoring in sat.py to be more Pythonic
Fixed return value from injector.cli
Merged type annotations branch
Added generic binding element <binding>

0install simply passes this element though into the generated selections
document. This is useful if e.g. a programming language uses 0install to select
dependencies, but then processes the selections itself. For example, an E
program can specify a dependency on a library like this:

    <requires interface=".../library">
      <binding e:getter="help"/>
    </requires>

The launcher (ebox in this case) then uses the binding to inject the dependency
into the module's scope.
Improved diagnostics when a required command is missing

Show all the command requirements, and list candidates even if none
meets the requirements.
Report exact error when a script is unreadable in "0install man"