refactor the prime sieve to look more like the go code and add a simpler example to the README