doc/guide-ffi: A few minor typo/language fixes

Signed-off-by: Anton Lofgren <alofgren@op5.com>
Guide: match
Guide: looping
Guide: Standard input
Convert a first batch of diagnostics to have error codes
Move llvm bindings to their own crate
Extract librustc_back from librustc
rustc: Invert some rpath dependencies
Extract rpath to rustc_back::rpath
rustc: Invert some archive deps
rustc: Move ArchiveRO to rustc_llvm

It is a wrapper around LLVM.
rustc: Move archive to rustc_back
rustc_back: Update crate docs

Indicate that anything that can be extracted here should and that things with
syntax deps should be split out someday.
rustc: Move util::fs to rustc_back
rustc: Move util::sha2 to rustc_back
rustc_llvm: Remove an unnecessary workaround

Just some leftover junk from extracting llvm.
rustc_llvm: Remove the inner llvm module

This makes it much saner for clients to use the library since
they don't have to worry about shadowing one llvm with another.
Fix rebase fallout. Sorry.
Borrow checking for overloaded indexing

Closes #15525
std: Make unlink() more consistent

Currently when a read-only file has unlink() invoked on it on windows, the call
will fail. On unix, however, the call will succeed. In order to have a more
consistent behavior across platforms, this error is recognized on windows and
the file is changed to read-write before removal is attempted.