Handler.report_error shows the stack-trace with --verbose
Improved diagnostics to show when a candidate had unsatisfied restrictions

When listing rejected candidates, check to see whether they have dependencies
which conflict with a selected implementation, and show the restriction causing
the problem if so.
Added an explicit dependency on python-gobject

This is needed on Fedora to prevent us running 0install with Python 3 when
we only have the Python 2 version of python-gobject.

It will also be needed on OS X to make sure we don't mix the native version
of Python when only the MacPorts Python has python-gobject.

Requested by Tim Cuthbertson.
Merged .NET framework detection
Fixed gobject import on Python 3
Added <requires distribution='...'> restriction

The value can be any valid distribution name (e.g. 'RPM'), or '0install' to
force a 0install implementation, not a package implementation. This can be used
to ensure that e.g. MacPorts Python libraries force the selection of MacPorts
Python.
Always use MacPorts if available

Previously, we ignored MacPorts implementations unless the version of Python
running 0install was from MacPorts. With the new explicit gobject dependency,
this hack should no longer be needed.
Updated 0install man-page
Removed unused imports
Cope better with missing __str__ method on Restriction subclasses
Check version passed to VersionRestriction is pre-parsed
Release 1.15
Start development series 1.15-post
Cope with no "python" or "python3" in the Makefile

Arch by default only has "python2".
Skip RPM test if rpm2cpio is not present

Note: Arch's rpm2cpio (from rpmextract) doesn't work.
Fixed unit-test errors due to unpredictable set iteration order
Don't clear sys.meta_path in unit-tests

Python 3 seems to be using this for something, so just reset it back to what it
was before.
Fixed unit-test HTTP server's sending of redirects to work with Python 3.3
Updated deprecated logger.warn to logger.warning
Fixed problem handling if-0install-version when filtering is off

Error was:

    if target_versions and not self.filter_range(target_versions):
TypeError: <lambda>() takes exactly 1 argument (2 given)