Unboxed closures

@nikomatsakis r?
This seems odd to me. when invoking a method, we'll push a candidate for every kind of unboxed closure that we've seen so far, whether in this local fn or somewhere else? I feel like we want to treat this more like we treat parameter bounds: when we see that the type we are invoking a method on is an unboxed closure, we check whether the method is the suitable `Fn` trait.