issue 5224
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
Merge branch 'master' of github.com:D-Programming-Language/phobos into 5224
@blackwhale's review
@blackwhale's destruction
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 10686 - No [] operator overload for immutable Tuple
Fix the arguments of sameTail and make sameHead and sameTail @safe
Some fixes according to the comments by @ monarchdodra
Merge pull request #1428 from 9rnsr/fix10686

[REG2.064a] Issue 10686 - No [] operator overload for immutable Tuple

MERGED.
Merge pull request #1431 from tom-tan/fix-array-sameHead-and-sameTail

Fix the arguments of sameTail and make sameHead and sameTail @safe

Merged.
std.process: Remove incorrect usage of file RangeError ctor parameter

The code attempted to construct a RangeError object with a
"Command line is empty" string as the first parameter. However,
the first parameter specifies the source file (and defaults to
__FILE__), not the reason (which is always "Range violation").
Merge pull request #1435 from CyberShadow/std-process-rangeerror

std.process: Remove incorrect usage of file RangeError ctor parameter
Fix Issue 10216 - Bad warning in std.process.kill
Fix issue 10601.

If extension is empty, std.path.setExtension should be equivalent to
std.path.stripExtension. This special case is useful in generic code
that needs to alternate between, e.g., .exe on Windows and no executable
extension on Posix.
Simplify unittest.