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
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.
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.
Merge pull request #1438 from kyllingstad/kill-warning

Fix Issue 10216 - Bad warning in std.process.kill
Merge pull request #1409 from quickfur/issue10601

Fix issue 10601.
Merge pull request #1162 from andralex/5224

Fix Issue 5224 - std.algorithm.remove!(SwapStrategy.unstable) doesn't work
Added range version of std.path.buildPath()