Fix Maestro.available_version() for mappings with more than one package
The installer does not take the requirement param anymore
Forward `sender_data` as well to subscribers of failed events
Progress on the installation of built packages

The `update_error_list()` now also forwards all the information sent in
the wire, so we'll be able to retrieve the original exceptions from the
cli tool, improving the feed back;

Set requirement data on `Install.feed()`, so we synchronize data in the
maestro every time we handle an event;

The method `Install.load_installer()` was added aiming to load the
installer with all installable dependencies and collect the errors of
requirements without a usable version;

The `tool.show_report()` function was updated to reflect the changes
above.
Fix Maestro.matching_versions() for requirements hyphens in the version info
Show who required a broken requirement in the reporter
Blacklist setuptools, we cant even build its dependencies
Use safe_name() to sanitize all inputs that takes requirements
Do not show None as available version
Fix Maestro.is_primary_requirement()
Enable the installer service to run
Remove install@mark
The Downloader should inform what kind of package it found
Improvements to the install command, refactoring the main loops and the uploader a bit
Cosmetical change to the code that forwards the exception in Service._worker()
Functional tests for Install.retrieve_and_build() and some more tests to Install.feed()
Last fixes for bringing back the uploader