rustdoc: Allow private modules be included in docs

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.