Added do-primes2 which is an improvement over the original do-primes since it evaulates the end form a single time. This is for cases like passing (random 100) for the end value.
Added do-primes3 which is an improvement over do-primes2 since it prevents out-of-order execution bugs due to evaluating the form in the same order in which they are in the parameter list.