Fix JuliaLang/julia#6665

Provides airyx in addition to bessel[jyikh]x
Updates following discussion in JuliaLang/julia#6665

Rather than introducing bessel[hijky]x functions, introduce optional
positional argument to bessel[hijky] and airy for scaled version.
automatically NULL-terminate UTF16 data for passing to Windows (and similar) APIs
NULL-terminate UTF32String data for consistency; deprecate UTF32String(c::Char...) in favor of utf32(c...); add conversion to UTF32String from binary data that looks at the BOM
NEWS updates for UTF16String and UTF32String
added utfXX(ptr[,len]) functions analogous to bytestring, added WString and wstring aliases to make wchar_t* APIs usable
fix utf32/UTF32String mixup
add deprecation for UTF32String(s::String)
avoid deprecation warning in converting UTFxxString to equal-sized integer types
type typo (and regression test) in utfXX(::Ptr{IntXX})
Merge branch 'master' of https://github.com/JuliaLang/julia into besselx

Conflicts:
	base/math.jl

Keeping track of special functions reorganization
fa742208b31a6640a82a6bf29f97c21cba471ff0
Refactoring reducedim and related functions
use ngenerate for mapreducedim
specialized methods to make the initialization for reducedim more efficient for common cases
use `@ngenerate` macro for mapreducedim!
fix spurious InexactError for eta(::Complex{Int}) etc.
fix #3399, BigFloat-BigInt comparison
Merge branch 'master' of github.com:JuliaLang/julia
Merge pull request #7016 from stevengj/utf16_null

automatically NULL-terminate UTF16 data for passing to Windows APIs
fix #7111, tab completion where the first item is ""

also use start() instead of 1