make the seed of a MersenneTwister be always a Vector{Uint32}

MersenneTwister's constructor making an instance with an Uint32 seed
was removed in commit 4fb4622f5c. But a subsequent call to
srand(r::MersenneTwister, seed) would only accept an Uint32 as a seed,
and would always make r.seed an Uint32; this was not consistent.
add more methods srand(::MersenneTwister, ...)

The srand methods working on a MersenneTwister instance did not catch
up with those working on the global RNG. They are now made similar
thanks to the make_seed function, which implements the different
logics.
Also, the manual is more precise on the types of valid seeds.
add more methods rand(rng, ...)

And similarly for rand!, randbool.
Fixes #8360.
fix #8865, comprehension evaluated in wrong module

this was because the REPL task was still "in" the old Main
module, and `expand` depends on the current module but doesn't take
a module argument. fortunately there doesn't seem to be any need to
call `expand` explicitly here.
Merge branch 'master' of github.com:JuliaLang/julia
add a test for getindex(::Number, ::Real)

ref b718cbc72e90
Merge pull request #8854 from JuliaLang/rf/rand-rng

RFC: more methods working with a non-global RNG
update helpdb.jl
rename String => AbstractString
Bytes: one approach to a jl_bytes_t type.
Bytes: a new approach with less built-in stuff.
wip
wip: Str (Bytes-based string type)
Bytes: enable GC marking of Bytes objects.
Bytes: make bytesref a builtin (prep for adding it to codegen).