Add more bounds & references for the estimators.
Separate out the filtering step of the sieve.

This is slightly faster for the non-trivial cases.

Before:

    test tests::sieve_large   ... bench:    132412 ns/iter (+/- 5112)
    test tests::sieve_medium  ... bench:     11330 ns/iter (+/- 634)
    test tests::sieve_small   ... bench:       114 ns/iter (+/- 36)

After:

    test tests::sieve_large   ... bench:    110309 ns/iter (+/- 5355)
    test tests::sieve_medium  ... bench:      9696 ns/iter (+/- 636)
    test tests::sieve_small   ... bench:       122 ns/iter (+/- 10)