Reorganize integration tests as one crate with many modules. Issue #4867. Rebased V3
This is an automatic rebase of @rochamatcomp's work in #5022, as requested in [#5038](https://github.com/rust-lang/cargo/pull/5038#issuecomment-365200227).
I take no credit for the changes; I just wanted faster test for my work. :-)