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.