fix #9037: segfault caused by incorrect alignment assumptions

The rand!(::MersenneTwister, A::Array{Float64}) assumed that the
array A was 16-byte aligned, which can be false (e.g. after a call
to resize!) and lead to a segfault in libdSFMT.
faster rand(UInt128) by consuming less random bits

The function rand_ui32 is removed, and rand_ui_52_raw, which consumes
one Float64 like rand_ui32, is used instead in the implementation of
rand{T<:IntTypes}(::Type{T}).
Consequently, rand(UInt128) consumes only 3 random Float64 instead of 4.
It seems that rand(UInt64) is also slightly faster.
faster rand(UInt64|UInt128) with rand_inbounds

A function reserve(::MersenneTwister) is called before rand_inbounds:
so only one bound check is done instead of two (resp. three) for UInt64
(resp. UInt128).
Merge pull request #9083 from JuliaLang/rf/rand-fast128

faster rand(UInt64) and rand(UInt128)
Merge pull request #9040 from JuliaLang/rf/fix-align

fix #9037: segfault in libdSFMT caused by unaligned Array
Return type stability fix

Missing type specification in zeros calls, causing inconsistent return type when T != Float64.
Merge pull request #9086 from GunnarFarneback/patch-1

Return type stability fix
juliatypes.jl: a fix for unions
Merge branch 'master' of github.com:JuliaLang/julia
fix #9088, staged functions and default arguments

when multiple methods (for keyword or default args) are generated,
only the one with the original code should be staged.
reduce cost of deserializing the system AST backref's

this removes the last hash table used by de-serialization in favor of a
direct array
specialize Module.__init__() methods, saving a few more milliseconds at startup
regenerate precompile file
Merge pull request #9089 from JuliaLang/jcb/regenprecompile

regenerate precompile file
check for valid git version number in pkg