Insert coercions to fn pointer types required for the new types
post-unboxed-closure-conversion. This requires a fair amount of
annoying coercions because all the `map` etc types are defined
generically over the `F`, so the automatic coercions don't propagate;
this is compounded by the need to use `let` and not `as` due to
stage0. That said, this pattern is to a large extent temporary and
unusual.
Various simple tests for fn item type vs fn pointer type and for coercions between them.
Change print out to include the path to the fn, a bit ad-hoc for now .
Address nit.
Correct merge failure around imports in `str.rs`.
Tweak region-related error messages that changed slightly due to coercion
changes, and also stop printing semi-useless inference by-products.