Take `next_collatz_number` out of the iterator logic
Removed some type annotations
Improved tests
Generic CollatzIterator
Use clone() to allow `BigUint`s