Unboxed closures

@nikomatsakis r?
Don't store `fn_ty` directly into the tcx, since it can create temporary inference types. Create a table in the `fcx` and store it in there. Then, during writeback, extract value from `fcx` table, resolve inference types, and store final result into the `tcx`.