Introduce UTF Matchers into std.uni.

It's a step zero to get decode-less std.regex.
UTF matchers are efficient functors around a set of
specific tries. Enables processing Unicode characters
without decoding at speeds on par with decoding itself.

Along the way make staticIota at 'package' protected and reuse it.

Fix a shameful typo in setSearcher.
workaround stable sort (std.move) not CTFE-able
const/pure annotations
purify std.uni constructs, blocked by std.algortihm.sort
@safety bags for utfMatchers

Granularity is horribly high. Auto-inference for templates has the
downside that it, leaves no explanations or reasons for failure.
fold in review comments
hide subMatcher until its API and utility is proven
test both narrow strings and range of char for matcher trait
more checking of UTF errors

Overlong sequences, wrong continuation  for UTF-8.
Lone high surrogate for UTf-16/.
address review issues

Spelling, style etc.
another DDoc tweak
Address problems with issue 314
Adjust after rebase, tweak DDocs

Drop public for documented unittests
Avoid comma operator
Fix12596 - Implement Typedef ctor that can take itself as the parameter.
Replace implicit catches of Throwables with explicit catches.
Fix Issue 11705 - Document Typecons and its parameters properly.
Fix Issue 11462 - std.algorithm.multiSort was missing from the index.
Merge pull request #2103 from AndrejMitrovic/Fix11462

[Trivial] Issue 11462 - std.algorithm.multiSort is missing from the index.
Merge pull request #2092 from AndrejMitrovic/RemoveImplicitCatch

Replace implicit catches of Throwables with explicit catches.