More refactoring for AutoloadGenerator

Follow-up to the refactoring PR for AutoloadGenerator. https://github.com/composer/composer/pull/2142

Goal:
- eliminate method parameter madness
- eliminate local variable madness
- avoid classes and methods being too long
- Split the generator into "aspects"
- Improve documentation
- Make it look nice in PHPStorm.