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.
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
rustdoc: Allow private modules be included in docs

Made it so that what passes are used is passed onto the renderer so it
can intelligently deal with private modules.
core: Add from_u32 to the Char trait

This is the only free function not part of the trait.
core: Mark Char trait experimental
char: Mark the MAX constant stable
auto merge of #18822 : scialex/rust/better-rustdoc, r=alexcrichton

Changed `rustdoc` so that if we do not have the `strip-private` pass
enabled private modules will be included in the generated documentation

I added this because it is useful to be able to read the documentation in the very nice `rustdoc` web interface when doing internal work on a project. In this case we want the `rustdoc` to include modules that are hidden from consumers. Since this is not currently possible I added it here.
unicode: Rename UnicodeChar::is_digit to is_numeric

'Numeric' is the proper name of the unicode character class,
and this frees up the word 'digit' for ascii use in libcore.

Since I'm going to rename `Char::is_digit_radix` to
`is_digit`, I am not leaving a deprecated method in place,
because that would just cause name clashes, as both
`Char` and `UnicodeChar` are in the prelude.

[breaking-change]
core: Rename Char::is_digit_radix to is_digit

This fits the naming of `to_digit` and `from_digit`. Leave
the old name deprecated.
core: Rename Char::len_utf8_bytes to Char::len_utf8

"bytes" is redundant.

Deprecate the old.
core: Add Char::len_utf16

Missing method to pair with len_utf8.
core: Add stability attributes to char::from_digit and from_u32

For now we are preferring free functions for primitive ctors,
so they are marked 'unstable' pending final decision. The
methods on `Char` are 'deprecated'.
core: Deprecated remaining free functions in `char`

Prefer the methods.
core: Mark remaining Char methods unstable

The `Char` trait itself may go away in favor of primitive inherent
methods. Still some questions about whether the preconditions are
following the final error handling conventions.
Fix various deprecation warnings from char changes