Have std::io::TempDir::new and new_in return IoResult

This allows using `try!()`

[breaking-change]

Fixes #16875
auto merge of #16907 : SimonSapin/rust/tempdir-result, r=huonw

This allows using `try!()`

[breaking-change]

Fixes #16875