Sieve class

A class named sieve and iterator were made to match the implementation of primesieve.org to use in ntheory functions.
You also need to declare it as `static` to avoid name collisions (http://stackoverflow.com/questions/7837190/c-c-global-vs-static-global).