Remove <no-bounds> on trait objects

Printing <no-bounds> on trait objects comes from a time when trait
objects had a non-empty default bounds set. As they no longer have any
default bounds, printing <no-bounds> is just noise.
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.
shootout-meteor improvement

- 5-10% of raw speedup
- parallelization of the search
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
auto merge of #14057 : kballard/rust/remove_no-bounds, r=sfackler

Printing <no-bounds> on trait objects comes from a time when trait
objects had a non-empty default bounds set. As they no longer have any
default bounds, printing <no-bounds> is just noise.
auto merge of #14063 : TeXitoi/rust/shootout-meteor-improvement, r=pcwalton

- 5-10% of raw speedup
- parallelization of the search