rustdoc: Private modules can be included in docs

Changed `rustdoc` so that if we do not have the `strip-private` pass
enabled private modules will be included in the generated documentation.

Also changed `strip-private` pass to actually remove private modules.
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

=== OLD ===
Added a --all-modules/-a flag which causes `rustdoc` to include
documentation information even for modules which are not visible outside
of the crate they are defined in.

This flag is off by default. It is most useful if the `strip-private` pass
is disabled but can be useful even without this. There is no change in
`rustdoc`'s output with this flag off.

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.