Add a memoize! macro and use it throughout rustc
Make memoize!() a function instead
auto merge of #17983 : jakub-/rust/memoize-things, r=pcwalton
Remove libdebug and update tests.
libsyntax: Remove all uses of {:?}.
librustc: Remove all uses of {:?}.
libstd: Remove all uses of {:?}.
liballoc: Remove all uses of {:?}.
librustdoc: Remove all uses of {:?}.
libcollections: Remove all uses of {:?}.
libnative: Remove all uses of {:?}.
librustc: Remove visit_tydesc intrinsic.
librustc: Stop generating visit glue and remove from TyDesc.
librustc: Remove trans::reflect and the opaque and ty_visitor lang items.
libsyntax: Don't accept :? as a format specifier.