Out-contracts to check the results of uniform()
Fast uniform distribution in [0, 1)

This adapts code written by Jerro during an earlier stab at adding
normal random number generation to std.random:
https://github.com/WebDrake/phobos/blob/normal/std/random.d#L1612-L1624

The core method is also pretty much equivalent to its counterpart
in Boost.Random.  One difference in assumptions is that Boost's
uniform01_distribution does not assume that the result will be less
than one, and has a for(;;) loop in place to ensure the function
does not exit until a value less than 1 is generated.
Update benchmarks to reflect new additions to package
Use uniform01 inside NormalEngineBoxMuller