Fix spans for enum-struct match arms

Correct spans for fields in enum struct arms where the field and variable are unified
std: io: flush stdout on stdin read from tty
rename std::vec -> std::slice

Closes #12702
auto merge of #12772 : thestinger/rust/slice, r=alexcrichton

Closes #12702
auto merge of #12854 : nick29581/rust/parse-enum-struct, r=alexcrichton

...where the field and variable are unified
rename std::vec_ng -> std::vec

Closes #12771
A couple of fixes to vec_ng docs
auto merge of #13028 : thestinger/rust/vec_ng, r=huonw

Closes #12771
auto merge of #12980 : cmr/rust/overhaul-stdio, r=thestinger

this comes from a discussion on IRC where the split between stdin and stdout
seemed unnatural, and the fact that reading on stdin won't flush stdout, which
is unlike every other language (including C's stdio).