Support old and new versions of runenv-cli on Windows
Search system paths for native binaries

Previously, each <package-implementation> had to give the absolute path of
the main binary. This causes unnecessary duplication e.g.

  <package-implementation package="graphviz" distributions="RPM Debian Arch" main="/usr/bin/dot"/>
  <package-implementation package="graphviz" distributions="MacPorts" main="/opt/local/bin/dot"/>
  <package-implementation package="graphviz" distributions="Ports" main="/usr/local/bin/dot"/>

Now, if the main value isn't found, we search the other system paths for the
binary. We also now allow non-absolute values (e.g. main='dot'). However, that
will break older versions of 0install and so should be avoided for now.
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