Improve the librustc on-demand/query API ergonomics. Queries are now performed through these two forms: * `tcx.type_of(def_id)` (the most common usage) * `tcx.at(span).type_of(def_id)` (to provide a more specific location in the cycle stack) Several queries were renamed to work better as method names, i.e. by suffixing with `_of`. r? @nikomatsakis