Revamp doc index

Fixes #14972
auto merge of #16827 : steveklabnik/rust/fix_doc_index, r=brson

Fixes #14972
auto merge of #16927 : dotdash/rust/llvmup, r=alexcrichton
rollup merge of #16971 : treeman/json-decode
rollup merge of #17008 : nick29581/impl2
rollup merge of #17013 : rgawdzik/literal_int
rollup merge of #17020 : nodakai/libnative-c_int
rollup merge of #17040 : kmcallister/borrow-extctxt
rollup merge of #17052 : pcwalton/feature-gate-subslices
rollup merge of #17054 : pcwalton/subslice-syntax
rollup merge of #17061 : nathantypanski/test-borrowck-trait
rollup merge of #17062 : nathantypanski/generic-lifetime-trait-impl
rollup merge of #17070 : TeXitoi/relicense-shootout-reverse-complement.rs
rollup merge of #17077 : TeXitoi/relicense-shootout-nbody
rollup merge of #17080 : treeman/issue-17066
rollup merge of #17085 : jakub-/issue-17074
rollup merge of #17087 : DanAlbert/llvm-3.6
rollup merge of #17090 : alexcrichton/rustdoc-no-strip
rollup merge of #17093 : nathantypanski/17021
rollup merge of #17096 : TeXitoi/relicense-shootout-chameneos-redux