Sieve class

A class named sieve and iterator were made to match the implementation of primesieve.org to use in ntheory functions.
@isuruf make the block size a parameter that the user can set. The code itself should not be probing cache sizes. We can use some reasonable default that works on most modern processors, and then the user can tweak this by changing the parameter.