add Unqual to core.internal.traits
make __setArrayAllocLength pure nothrow
add _d_newarrayU to allocate an uninitialized array

- rewrite _d_newarrayT and _d_newarrayiT in terms of
  _d_newarrayU

- mark all _d_newarray functions as pure nothrow

- optimize initialization in _d_newarrayiT
implement dup and idup library functions

- can infer @safe, pure and nothrow

- strongly pure dup if element type implicitly convertible to mutable

- allocates uninitialized memory using _d_newarrayU
Merge pull request #760 from MartinNowak/dup

implement dup and idup library functions
.dup should be public
Merge pull request #761 from WalterBright/dup-public

.dup should be public
.dup should be @property
Merge pull request #762 from WalterBright/dup-is-property

.dup should be @property
Document Error and its constructor
fix Issue 12580 - dup() won't accept void[]
Merge pull request #766 from MartinNowak/fix12580

fix Issue 12580 - dup() won't accept void[]
Add ENOTSUP for linux, which maps to EOPNOTSUPP

glibc aliases ENOTSUP to EOPNOTSUPP. We therefore should declare it as well
as EOPNOTSUPP.
demangle @nogc
Mark first param of apply functions as 'in'
Add unittests from _aApplyR.d
Merge pull request #769 from dsp/linux/ENOTSUP

Add ENOTSUP for linux, which maps to EOPNOTSUPP
replace some redeclaration with the respective imports
Merge pull request #771 from ibuclaw/inparm

Mark first param of apply functions as 'in'
Merge pull request #770 from WalterBright/demangle_nogc

demangle @nogc