Propagate coercions through match expressions.
auto merge of #19769 : nick29581/rust/coerce-if, r=nikomatsakis

r? @nikomatsakis 

We discussed coercions for `if` and `match` expressions. `if` seems to work already, was there some specific behaviour which wasn't working?
rustup: Add support for verifying remote hashes
rustup: add caching of old nightlies
rustup: allow rust and cargo snapshot dates to be different
syntax: whitespace cleanup
rustup: Add support for resuming downloads
rustup: switch to using `mktemp -d` to build the temp directory