Deprecate the `TupleN` traits
libunicode: use tuple indexing
libcollections: use tuple indexing
libstd: use tuple indexing
libregex: use tuple indexing
libsyntax: use tuple indexing
librustc: use tuple indexing
librustc_trans: use tuple indexing
librustdoc: use tuple indexing
libcoretest: use tuple indexing
libgraphviz: use tuple indexing
libcore: allow deprecated `valN` methods on doc tests
auto merge of #19677 : japaric/rust/deprecate-tupleN, r=alexcrichton

r? @alexcrichton or anyone else
closes #18006