num: implement CheckedDiv
port util/common.rs from oldvisit to <V:Visitor> trait API.
Ported coherence.rs from oldvisit to <V:Visitor> trait API.
Ported rusti::utils from oldvisit to <V:Visitor> trait API.
Port entry.rs from oldvisit to <V:Visitor> trait API.
Port freevars.rs from oldvisit to <V:Visitor> trait.
Port kind.rs from oldvisit to <V:Visitor> trait API.
ported lang_items from oldvisit to <V:Visitor> trait.
Port check_loans.rs from oldvisit to <V:Visitor> trait API.
auto merge of #8459 : thestinger/rust/checked, r=graydon
auto merge of #8623 : pnkfelix/rust/fsk-visitor-vpar-defaults-step4, r=nmatsakis

Follow up to #8619 (step 3 of 5).

(See #8527, which was step 1 of 5, for the full outline.)

Part of #7081.
Prevent Send, Freeze, and Sized from being manually implemented. Close #8517.
Allow traits to use builtin kinds as supertraits for #7083.
Add tests for #7083.
Add more capabilities to typarams bounded by traits with super-builtin-kinds. Close #7083.
Add tests for super-builtin-kind capabilities (#7083)
Fixup style of test cases for #7083