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"
Removed unused imports
Release 2.1
Start development series 2.1-post
Fixed missing "unicode" function in Python 3
Moved logic for DnD of URIs to gtkutils
Allow dropping a URI onto the app-list window to add it
Fixed some deprecation warnings in gtkui
Merged changes from master