Refactor Plugin::Installer to have the original structure, with cleaner code
Refactor Plugin::Installer to have the original structure, with cleaner code

The test suite is strict/intrusive, due to mocking private methods, and when
the Installer structure is refactored, it's not clear where it fails.

This refactoring returns to the original structure, while applying a refactoring
that makes it clear what's happening, and easy to extend.

mvz/bundler,bundler/bundler,bundler/bundler,mvz/bundler