Implement incremental sieve of Eratosthenes in C++

Pretty basic but still faster than any other attempt.
Split the list of marked numbers into active/pending

This avoids spending time on the vast majority of entries which have not
been reached yet.