Intermediate commit. Minor cleanups.
Separated random number generation from arbitrary
to a different Gen type as in the original QuickCheck.
Also completed the default generators.