prime: Change sieve to return a prime mask.

SearchChainMultiplier handles the chain. It should now do fewer
FermatPrimes.
celtus: Move code around.
prime: Require odd chain multiplier.
celtus: Decrease number of pseudo primality tests.

Test first minChainLength elements in reverse order
so that higher shifts have better chance to be excluded.
prime: Make Sieve search 32 elements per chain, instead of 64.

Seems to be working much better this way.
celtus: Refactor a bit.

Put all prime testing and caching functionality in primeTester.
all: Clean up code a bit.
prime: Test with real large primes.
prime: Restore test.
all: Make chainLength an uint.
celtus: Perform Bitwin chain checking before Cunningham.

Doing reduces slightly the overall number of Fermat tests
required because Bitwin chains are shorter (on each side)
disrupting longer chains when elements are found to be coprime.
celtus: Increase default sieve size.
celtus: Add more statistics re number of chain candidates.

Also increase min_chain_length to 7 because it halves
the number of prime checks.