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
new std.uni module
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
Improve byChunk, lockingTextWriter doc

Make byChunk, lockingTextWriter return opaque types (but keep those
types public for backward compatibility).
Add byChunk range example.
Also document that ByLine's primitives can throw StdioException.
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.