Let EggBasketPluginManager handle egg distribution errors.

Previously, an incorrect egg in the plugin_path such as an
inconsistent egg name with the version of the package would
cause the plugin manager to fail.
The `on_broken_distribution` trait can now be set on the
plugin manager to handle errors such as VersionConflict in
the eggs in the plugin_path, in a similar way to how
plugin load errors can be handled by setting the
`on_broken_plugin` trait.