Introduce the cargo run command earlier (squashed)
auto merge of #16474 : MatejLach/rust/cargorun_fix, r=steveklabnik

This fixes #16451.

While moving things around, I also removed a bunch of unnecessary whitespace, however I can put it back in if that's undesired. 

Thanks.