Some improvements to the Cargo compiler file.
Use rustc's errorformat and add option to specify permanent parameters.
Updates based on kballard's feedback.
Added check for absolute file path, removed hard tab, and added documentation for new option.
Fix `Vec::map_in_place` not doing what is written in the comment
Fix for issue #17574
Look for standard crates in LIBDIR provided by --libdir option,
not in hardcoded libdir path. If there was no LIBDIR provided
during configuration fallback to hardcoded paths.

Thanks to Jan Niklas Hasse for solution and to Alex Crichton for improvements.

Closes #11671
Conformed the 100 char limit and changed colon to semicolon
Adding switch in vim plugin to toggle format opts
Move closure checking into its own file. Shrink check/mod.rs!
Deduce the argument types based on the expected type, trawling through the fulfillment contect if necessary.
Add myself as an author
Rename json::List to json::Array

Fixes #19010
Merge the ExprFnBlock and ExprUnboxedClosure into one ExprClosure with an optional unboxed closure kind.
Use the expected type to decide whether `||` is an unboxed or boxed closure.
Fix some English spelling errors
mk/cfg: add .mk suffix on files to avoid "supprises" when backup files (file~) are in the directory
removed usage of struct_variant feature as it is no longer gated
removed struct_variant feature from tests
Update the Vim syntax prelude.