Release 2.5.1
Start development series 2.5.1-post
Migrated PackageKit support to OCaml

Note: it appears that we don't need to interact with PolicyKit at all.
PackageKit (0.7.6) does that for us.
Removed unused code
Simplified distribution#get_all_package_impls API

arch_distribution no longer inherits from python_fallback_distribution.
When reusing Curl connections, reset timevalue and maxfilesizelarge
Cope with unresponsive PackageKit
Don't send an empty GetDetails to PackageKit

It's inefficient, and also makes PackageKit hang.
Merge branch 'b2.5'

Conflicts:
	ocaml/zeroinstall/downloader.ml
Migrated console handler confirmations to OCaml
Added ui.mli interface
Migrated console progress display to OCaml

Also, changed the style to show one download at a time.
Simplified distribution API

Instead of threading a StringMap through everything using fold_left,
just use a mutable results object.
Added distribution.mli interface
Skip empty PackageKit queries
Added the "strict_sequence" tag

This means that in "fn;", fn must have type unit. Before, it was just a
warning (and not always detected).
Fixed race condition in unit-test
Changed StringMap.find to return an option type
Only add host implementations once, not once per <package-implementation>
Split platform-specific parts of distro.ml into distro_impls.ml