Update documentation for from_raw_parts

Fixes #19269.
Lifetime guide -> ownership guide
impl Clone for Cow
small doc fixes

We don't need this &mut, and vec could use []s
fix expand_quote_ty function as parse_ty was changed and needs no arguments now
Fix typo in reference.md
Replace some verbose match statements with their `if let` equivalent.

No semantic changes, no enabling `if let` where it wasn't already enabled.
mk: Use host llvm linkage paths, not target ones

We only build LLVM for the host architecture, not the target architecture, so
this was just a minor typo in the parameters uses.

Closes #19383
Fix the ordering of `unsafe` and `extern` in methods

This breaks code that looks like this:

    trait Foo {
        extern "C" unsafe fn foo();
    }

    impl Foo for Bar {
        extern "C" unsafe fn foo() { ... }
    }

Change such code to look like this:

    trait Foo {
        unsafe extern "C" fn foo();
    }

    impl Foo for Bar {
        unsafe extern "C" fn foo() { ... }
    }

Fixes #19398.

[breaking-change]
Allow trailing commas in array patterns and attributes
Simplify `RefCell` code a bit, make `deref` a no-op.
Fix typo in tests makefile
allow macro expansions in attributes
std: Remove implicit shrinking from hash_map.

Implements fn shrink_to_fit for HashMap.
std: Change the behavior of `reserve` for HashMap.

HashMap's `reserve` method now takes as an argument the *extra* space
to reserve.

[breaking-change]
fix missed switch pointed out in review plus a few others
std: add tests for the Vec<u8> Writer impl
std: add Reader impl for &[u8]
auto merge of #19418 : P1start/rust/unsafe-extern-trait, r=alexcrichton

Fixes #19398.
Add test for expanding doc strings in macros.