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)
Added Selections.get_unavailable_selections

This is needed to check that an app's current selections are still valid.
Do a foreground app update if necessary

If we try to run an app and the saved selections are now unavailable, do a
blocking solve-and-download (possibly with the GUI) first. Before, we triggered
a background update but still returned the old (invalid) selections.
Cope with a background update failing to find a solution

This could happen if a distribution package was updated to an incompatible
version, for example. We now try to show the GUI, and if that fails then we
show the error with a notification and give up.

The error was:

  File "/usr/lib/python2.7/site-packages/zeroinstall/injector/driver.py", line 68, in get_uncached_implementations
    impl = selection.impl
AttributeError: 'NoneType' object has no attribute 'impl'
Support Arch syntax for Java version numbers (e.g. "7.u13")