Fix JuliaLang/julia#6665

Provides airyx in addition to bessel[jyikh]x
Tweaks to StepRange: Take 2
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.
deprecate readsfrom/writesto in favor of simply using open on AbstractCmds, and support: open(cmd, mode) do io ... end
better rearrangement of try/catch block in open(f, cmds)
rm obsolete writesto docs
automatically NULL-terminate UTF16 data for passing to Windows (and similar) APIs
Tweaks to sum across dimensions

- Implement sum(fn, A, region)
- Implement Base.sumabs across dimensions
- Use pairwise summation/BLAS for sums across first dimension
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
Tweaks of maximum and minimum related functions
Merge pull request #7038 from lindahua/dh/maxmin2

Tweaks of maximum and minimum related functions
tweaks of prod functions
Merge pull request #7040 from lindahua/dh/prod2

tweaks of prod functions
Merge pull request #7035 from JuliaLang/sjk/sum

Tweaks to sum across dimensions
Improve documentation for bytestring()

Fixes #7036.
Merge pull request #7048 from nalimilan/bytestring

Improve documentation for bytestring()
better behavior for float(array) and complex(array). fixes #6422

also add a few inbounds declarations