Solaris changes for std.file and std.socket.

std.file: Add implementation for thisExePath(), fix struct DirEntry
std.socket: Add implementation for formatSocketError
use emplaceRef in join

And remove old trustedAllocateArray.
uninitializedArray is already trusted.
Include NullSink in std.range ddocs.

Partial fix for makefile to build std.range docs, that was broken after
std.range was split. This is only a partial fix; the full fix will have
to be done as part of [issue 13766] (https://issues.dlang.org/show_bug.cgi?id=13766).
Merge pull request #2763 from quickfur/nullsink_ddoc

Include NullSink in std.range ddocs.
Merge pull request #2747 from 9il/join2

use emplaceRef in join
std.range: constraints => primitives

See discussion and voting in #2661
specialization of std.typecons.Proxy for classes

using selective import

remove nonsense code

integration of static this.

add a comment

avoiding some warnings

remove InvalidTypeException

improve readability
Merge pull request #2759 from redstar/solaris2

Solaris changes for std.file and std.socket.
tweak predSwitch ddoc
tweak clamp ddoc

- sort the Comparison section
- fix typo
Merge pull request #2765 from 9il/rename

std.range: constraints => primitives
Merge pull request #2740 from garlic-flavor/master

std.typecons.Proxy inside classes
Merge pull request #2766 from e10s/patch-2

Tweak std.algorithm ddocs