Use purely an owned vector for storing TLS data
Change the elements in the task-local map to be actual key-value pairs
Change TLS to almost be able to contain owned types
Rename local_data methods/types for less keystrokes
Add a lint to detect unnecessarily qualified names
Implement SIMD arithmetics
Change the assert_eq message to be more verbose.

Closes #6221
fix test
Add a compile-fail test for qualification lint
iterator: add DoubleEndedIterator concept

This implements the trait for vector iterators, replacing the reverse
iterator types. The methods will stay, for implementing the future
reverse Iterable traits and convenience.

This can also be trivially implemented for circular buffers and other
variants of arrays like strings and `SmallIntMap`/`SmallIntSet`.

The `DoubleEndedIterator` trait will allow for implementing algorithms
like in-place reverse on generic mutable iterators.

The naming (`Range` vs. `Iterator`, `Bidirectional` vs. `DoubleEnded`)
can be bikeshedded in the future.
vec: rm inline(never) hack

just avoid giving an inline hint in the first place
Work around stage0 to remove '@' requirements from TLS
Fix a soundness problem with `get`
Remove all external requirements of `@` from TLS

Closes #6004
dlist: A new implementation of an owned doubly-linked list

This is an owned sendable linked list which allows insertion and
deletion at both ends, with fast traversal through iteration, and fast
append/prepend.

It is indended to replace the previous managed DList with exposed list
nodes. It does not match it feature by feature, but DList could grow
more methods if needed.
dlist: Implement size_hint properly for all iterators
dlist: Introduce a struct Rawlink mimicing Option<T> for a raw pointer

Rawlink<T> holds a *mut T pointer and can convert itself to Option<&mut T>.
The null pointer is of course None.
dlist: Collect a common pattern into link_with_prev()
dlist: Put all tests into a tests module

The exception is the function check_links which needs access to struct
Node (which is not pub).
dlist: Expose ListInsertion trait with insert_before and peek_next

An iterator that allows mutating the list is very useful but needs care
to not be unsound. ListIteration exposes only insert_before (used for
insert_ordered) and peek_next so far.