rustc: Switch ty::node_type_table to smallintmap, cut 400mb memory use off a librustc build.

Smallintmap was being populated with sparse keys during ast deserialization.
auto merge of #6776 : graydon/rust/node-type-table-hashmap, r=thestinger

Smallintmap was being populated with sparse keys during ast deserialization.