Ported check_const from oldvisit to <V:Visitor> trait API.
Ported check_loop from oldvisit to <V:Visit> trait API.
Port check_match from oldvisit to <V:Visitor> trait API.
Port const_eval from oldvisit to <V:Visitor> trait API.
Ported effect checker from oldvisit to <V:Visitor> trait API.
Port privacy.rs from oldvisit to <V:Visitor> trait.
port reachable.rs from oldvisit to <V:Visitor> trait.
port region.rs from oldvisit to <V:Visitor> trait API.
Fix select deschedule environment race for real this time, in light of task killing.
Better error message for unknown start of token

The span was fixed at some point to point to the correct character, but
the error message is still bad. Update it to emit the actual character
in question (potentially escaped).

Fixes #3747.
doc: correct spelling in documentation.
doc: convert remaining uses of core:: to std::.
Implement DeepClone for str types.
Implement Clone and DeepClone for time types.
Give XorShiftRng::new() a random seed

Fixes #8359.
Reserve 'yield' keyword

Rename task::yield() to task::deschedule().

Fixes #8494.
Remove obsolete error message regarding do-blocks with internal iters

When using a `do` block to call an internal iterator, if you forgot to
return a value from the body, it would tell you

    error: Do-block body must return bool, but returns () here. Perhaps
    you meant to write a `for`-loop?

This advice no longer applies as `for` loops are now for external
iterators. Delete this message outright and let it use the default error
message

    error: mismatched types: expected `bool` but found `()`
Implement `{:s}` for ~str and @str as well
Delegate `{}` to Default instead of Poly

By using a separate trait this is overridable on a per-type basis and makes room
for the possibility of even more arguments passed in for the future.
More spelling corrections.