`rand` sampling from an array accepts an optional rng

The diffs for the docs update are probably easier to read with "Split" diff (instead of "Unified"). I tentatively merged the two docs for `rand` into one text, but comments are welcome.