fix Issue 10125 Unicode non-BMP decoding to dchar in stdio readln

strings were first decoded to wchars, each wchar was then separately
decoded to dchar, resulting in 2 dchars in the surrogate block instead
of 1 correct dchar.

added unit test to verify readln decoding of non-ASCII characters
combine some statements
Fix @property annotations and incorrect parenthesis
Remove -property switch
Make std.array.array @safe if possible
Added range version of std.path.buildPath()
Minor buildPath() style issues
Added unittests for issue 10348
Minor buildPath DDOC style issue
Pre-allocate 255 bytes, not 256, in buildPath()

...as recommended by @monarchdodra.
More improvements to buildPath()

Re: @monarchdodra's review
Fix array to make it surely safe for some cases
Update unittests
Fix unittests
Fix array.array
Make a unittest for std.conv.toImple for char* to string conversion system
Fix for array.array
Allow non-immutable input strings in std.process

`string` has been replaced by `in char[]` or similar where possible.
Merge pull request #1296 from M-frankied/readln-nonbmp

fix Issue 10125 Unicode non-BMP decoding to dchar in stdio readln

Merged.
Merge pull request #1394 from 9rnsr/enforceProp

Supplemental change for dmd/pull/2305