fix issue 9959 - Add functional pattern matching for object references

Add the function std.algorithm.castSwitch, which chooses a delegate
based on the class of an object and run that delegate with that object.
std.math: added frexp for float and double
Make std.file.getLinkAttributes safe
Mark std.file.isDir and its unittest as safe
Merge pull request #2517 from tom-tan/safe-file-isDir

Mark std.file.isDir and its unittest as safe
Merge pull request #2516 from tom-tan/safe-file-getLinkAttributes

Make std.file.getLinkAttributes safe
Mark unittests for std.file.attrIsDir and attrIsFile as safe
Merge pull request #2519 from tom-tan/safe-unittest-for-file-attrIsDir-attrIsFile

Mark unittests for std.file.attrIsDir and attrIsFile as safe
Merge pull request #1266 from idanarye/add-functional-pattern-matching-for-object-references

fix issue 9959 - Add functional pattern matching for object references
Update indentation
make a template
remove private
Merge pull request #2508 from 9il/frexp-single-double

std.math: added frexp for double and float
Add missing imports
Merge pull request #2523 from 9rnsr/fix12359

Add missing imports
std/regex/package: Fix unmatched --- in DDoc comment
Merge pull request #2527 from CyberShadow/pull-20140918-003356

std/regex/package: Fix unmatched --- in DDoc comment