Refactor factorizer and update amicable_numbers_generator
Refactor factorizer and write test coverage