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
Fix issue# 10717.

This makes it so that if you're operating on chars or wchars with
std.ascii functions, you don't have to cast the return values back to
char or wchar, but it still allows you to operate on dchars without
mangling any Unicode values.
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
Merge pull request #1436 from jmdavis/10717

Fix issue# 10717.

Merged.
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