Unboxed closures

A relatively complete description of by reference closures that aims to encompass entirety of current thinking, except for bound lifetimes.

cc @pcwalton
On Wed, Jun 11, 2014 at 04:49:41AM -0700, Huon Wilson wrote:
> Would this "desugar" to something like `let a_ref = &a; let b_ref =
> &b; || foo(*a_ref, *b_ref)`? (Meaning there's no special handling,
> other than the nicer captures.)

Essentially, except that:

1. We infer whether we want `&` vs `&mut`.
2. We internally support `&uniq`, as today.