Solaris changes for std.file and std.socket.

std.file: Add implementation for thisExePath(), fix struct DirEntry
std.socket: Add implementation for formatSocketError
nothrow for Schedulder

- require nothrow for thisInfo, yield

- make Condition methods nothrow
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
Mark methods in std.range.cycle for static array as system
Make Cycle.this system and other methods safe
Remove redundant alias
Move a modulo operation into the trusted function
Merge pull request #2647 from tom-tan/system-range-cycle-for-sarray

Mark methods in std.range.Cycle for static array as system
Merge pull request #2704 from MartinNowak/nothrowScheduler

nothrow for Schedulder
make nested foreach over TypeTuple bodies into lambdas to avoid huge functions