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`

So we change the value of `b` here. It doesn't matter because the algorithm terminates after this.