Make Base.ARGS a constant of type Vector{UTF8String}.

Previously, ARGS was non-constant, and its element type was Any.
Thus, we could infer essentially nothing about the type of values
derived from ARGS, leading to performance issues like this one:

https://groups.google.com/forum/#!topic/julia-users/dYGWASzXtE4

As a reduced example, consider:

	f() = int(ARGS[1])

Before this change:

	julia> code_typed(f,())
	1-element Array{Any,1}:
	 :($(Expr(:lambda, {}, {{},{},{}}, quote  # none, line 1:
	        return int(getindex(ARGS,1))
	    end)))

After this change:

	julia> code_typed(f,())
	1-element Array{Any,1}:
	 :($(Expr(:lambda, {}, {{},{},{}}, quote  # none, line 1:
	        return top(parseint_nocheck)($(Int64),arrayref(ARGS,1)::UTF8String,0)::Int64
	    end)))

Since we now know that the values in ARGS must be UTF8Strings, we
can safely conclude that the `int` function applied to ARGS[1] is
of type Int (unless an exception occurs).
Merge branch 'master' of github.com:JuliaLang/julia