libgetopts: tweak HasHarg/Occur docs.
rustdoc: Use more descriptive description metadata.

This text appears in and improves search results.

cc #12466
rustdoc: Put field instantiation in declaration order.

cc #12466
rustdoc: Emit keywords for all crate pages

cc #12466
rustdoc: Just "stability" instead of "stability dashboard"

The words "stability dashboard" take up too much space on small screens.
stabilize atomics (now atomic)

This commit stabilizes the `std::sync::atomics` module, renaming it to
`std::sync::atomic` to match library precedent elsewhere, and tightening
up behavior around incorrect memory ordering annotations.

The vast majority of the module is now `stable`. However, the
`AtomicOption` type has been deprecated, since it is essentially unused
and is not truly a primitive atomic type. It will eventually be replaced
by a higher-level abstraction like MVars.

Due to deprecations, this is a:

[breaking-change]
Remove obsolete stack growth tests
auto merge of #16252 : conradkleinespel/rust/master, r=alexcrichton

I found the current docs to be a little confusing. I believe this makes them straight to the point and less confusing.
auto merge of #16254 : brson/rust/rustdocmeta, r=aturon

This teach rustdoc to add `<meta name="description">` and `<meta name="keywords">` tags to crate docs. Description is important for search engines because they display it as the page description. Keywords are less useful but still generally recommended.

This also changes the "stability dashboard" link to just say "stability", because the current link takes up a lot of space.

cc https://github.com/rust-lang/rust/issues/12466
auto merge of #16258 : aturon/rust/stabilize-atomics, r=alexcrichton

This commit stabilizes the `std::sync::atomics` module, renaming it to
`std::sync::atomic` to match library precedent elsewhere, and tightening
up behavior around incorrect memory ordering annotations.

The vast majority of the module is now `stable`. However, the
`AtomicOption` type has been deprecated, since it is essentially unused
and is not truly a primitive atomic type. It will eventually be replaced
by a higher-level abstraction like MVars.

Due to deprecations, this is a:

[breaking-change]
auto merge of #16263 : brson/rust/morestack, r=alexcrichton
Rename `Share` to `Sync`

This leaves the `Share` trait at `std::kinds` via a `#[deprecated]` `pub use`
statement, but the `NoShare` struct is no longer part of `std::kinds::marker`
due to #12660 (the build cannot bootstrap otherwise).

All code referencing the `Share` trait should now reference the `Sync` trait,
and all code referencing the `NoShare` type should now reference the `NoSync`
type. The functionality and meaning of this trait have not changed, only the
naming.

Closes #16281
[breaking-change]