DDoc: Doc improvements for std.algorithm (see extended description)

* Links to information about ranges (it is confusing for a new user to see ranges being mentioned everywhere but no description of what a range is). (the links are to std.range and a chapter of Ali Cehreli's D Programming Language Tutorial book)
* Example (as opposed to just mention) on using copy as std::backward_copy, and UCFS (where it is intuitive) in copy documentation.
* Moved all 'See also' links to See_Also: at the ends of documentation blokcs.
make case tables immutable

- Avoids redundant object copies and semantic
  analysis for every usage.

- Multilib archives or gc-sections will take care
  of the binary size issue.
store other immutable tables in unicode_tables

- This is mainly for consistency with other tables.
deduplicate CodepointTries and leave the data in libphobos2.a

- Store the static immutable CodepointTries in separate functions.
use functions where applicable to reduce compile time/template bloat

- The semantic analysis and object generation only
  needs to be done once when building phobos.
  Using those overloads becomes a simple link dependency.

- add overloads for most common cases
fix issue 11232 - rewritten std.windows.syserror.sysErrorString

Fixed for Unicode-correctness; now works on non-English Windows systems.
Added unit test.
Throws an Exception if the given error code or language combination
was invalid.
Corrected execute() example in ddoc comments
remove useless dependency on std.regex
too tight constraint that has no use in private function

Fixes issue 1262
Merge pull request #1641 from blackwhale/ctr-replace

[REG 2.064a] 11262 std.regex.replace does not accept StaticRegex
Merge pull request #1640 from blackwhale/fix-dep

Remove useless dependency on std.regex in std.string
remove std.string dependency from std.format
Merge pull request #1636 from dawgfoto/issue10866

make case tables immutable
missing imports when using codepointTrie
Merge pull request #1634 from JakobOvrum/syserrorstring

fix issue 11232 - rewritten std.windows.syserror.sysErrorString
smaller executables

- Move all tables into functions or structs so that
  dmd's multilib will put them into separate archive
  objects. This allows the linker to only pick the
  tables that are actually used.
Merge pull request #1642 from WalterBright/rm-std.string-from-format

remove std.string dependency from std.format
Merge pull request #1646 from dawgfoto/missingImports

missing imports when using codepointTrie
Merge pull request #1639 from arpie42/patch-1

Corrected execute() example in ddoc comments
Merge pull request #1635 from kiith-sa/patch-7

DDoc: Doc improvements for std.algorithm (see extended description)