Auto merge of #6004 - zachlute:fix-ctrlc-handling2, r=alexcrichton
Auto merge of #6004 - zachlute:fix-ctrlc-handling2, r=alexcrichton

Add empty ctrlc handler on Windows.

Fixes #6000.

This is a 'better' version of PR #6002 that accomplishes the same thing using only `winapi` calls without the dependency on the `ctrlc` crate or spawning an additional thread.

----

When exec_replacing the cargo process, we want the new process to get any signals. This already works fine on Unix.

On Windows, pressing ctrlc kills the cargo process and doesn't pass the signal on to the child process. By adding an empty handler, we allow the child process to handle the signal instead.

rustyhorde/cargo,vojtechkral/cargo,tsurai/cargo,tshepang/cargo,eminence/cargo,eminence/cargo,vojtechkral/cargo,rustyhorde/cargo,nipunn1313/cargo,tsurai/cargo,tshepang/cargo,vojtechkral/cargo,rust-lang/cargo,rust-lang/cargo,tsurai/cargo,rust-lang/cargo,rustyhorde/cargo,rustyhorde/cargo,nipunn1313/cargo,tshepang/cargo,eminence/cargo,eminence/cargo,tsurai/cargo,tshepang/cargo,vojtechkral/cargo,nipunn1313/cargo,tsurai/cargo,rust-lang/cargo,nipunn1313/cargo