Rename resolve_regions to resolve_regions_and_report_errors
Check lifetime parameters when we do check for supertrait impls. Fixes #14050.
Currently trans uses Vec<ty::t> to represent substitutions instead of a proper
ty::substs struct. This is a holdover from the olden days of yore. This patch
removes the last vestiges of that practice. This is part of the work
I was doing on #5527.
auto merge of #14055 : nikomatsakis/rust/issue-5527-use-substs-in-trans, r=pcwalton

Code to use `ty::substs` in trans. As part of this, uncovered (and fixed) issue #14050.

r? @pcwalton