Refactored how RNGs are passed into generators.

* Executors can now customize the source as required.
* SerialExecutor just uses the source as-is.
* ForkJoinExecutor wraps in a locked source, like the rand.* functions use.
* Moved almost everything in util to regexp_format.go, unexported. Having everything in the same namespace is less bad than exporting internals to the public.