better implementation of multi-arg promote
constant-fold construction of tuple types

a small improvement to effect_free, which helps inlining

definitions used by ccall need to be available earlier
add inbounds to vcat of ranges. helps #4784
Merge branch 'master' of https://github.com/JuliaLang/julia