Factor Integers

* Fix `prime_factor_multiplicities` to generate only one sieve
* Added `factor_pollard_rho_method` to factor integers using Pollard's rho algorithm
* Improve `eratosthenes_sieve`
* Added `factor_pollard_pm1_method` to factor integers using Pollard's pm1 algorithm
* Fixed a bug in `factor_lehman_method`.
* Make changes to `prime_factors` as in  `prime_factor_multiplicities`

Yes. I'll put in `factor_trial_division` here