Mapping over [] returns []. Fixes #6719

map(f, []) now returns [] (an Array{None,1}).

Running [][map(x -> x, [])] no longer fails due to bounds checking errors.
This was happening because [] is of type Array{None, 1}, whereas ie
map(int, []) is of type Array{Any, 1}.