sys: reveal std::io representation to sys module

This commit adds a `AsInner` trait to `sys_common` and provides
implementations on many `std::io` types. This is a building block for
exposing platform-specific APIs that hook into `std::io` types.
libs: add std::os::unix module

The new `std::os::unix` module exposes several extension traits
for extracting file descriptors from `std::io` types.
libs: add std::os::windows module

The new `std::os::windows` module exposes several extension traits
for extracting file descriptors, sockets, and handles from `std::io`
types.
Search for implemented kinds recursively on Trait types. Fixes #15155 and #13155.
add MoveItems to RingBuf, fixes #19085
Fixed "::::" appearing in module_path!()
Added test for module_path! fix
rustdoc: Render Sized? on traits and generics

Both `trait Foo for Sized?` and `<Sized? T>` are handled correctly.

Fix #18515
Merge libsync into libstd

This patch merges the `libsync` crate into `libstd`, undoing part of the
facade. This is in preparation for ultimately merging `librustrt`, as
well as the upcoming rewrite of `sync`.

Because this removes the `libsync` crate, it is a:

[breaking-change]

However, all uses of `libsync` should be able to reroute through
`std::sync` and `std::comm` instead.
remove the generation of grammar from the reference
Clean up FileType enum following enum namespacing

All of the enum components had a redundant 'Type' specifier: TypeSymlink, TypeDirectory, TypeFile. This change removes them, replacing them with a namespace: FileType::Symlink, FileType::Directory, and FileType::RegularFile.

RegularFile is used instead of just File, as File by itself could be mistakenly thought of as referring to the struct.

[breaking-change]
std: Export BinarySearchResult

At the same time remove the `pub use` of the variants in favor of accessing
through the enum type itself. This is a breaking change as the `Found` and
`NotFound` variants must now be imported through `BinarySearchResult` instead of
just `std::slice`.

[breaking-change]
Closes #19272
Implement union, intersection, and difference functions for TrieSet.
Allow constant struct fields and tuple indexing
Add tests for issue 19244
Stop indenting error messages. It throws off M-x next-error in emacs and seems to serve little purpose.
Change 'Failure' to 'Panic' in Bug Report Docs
Make HashMap::take not corrupt the map. Fixes #19292
Make note about cross-borrowing.

Fixes #19302.
Update documentation for from_raw_parts

Fixes #19269.