Currying RFC

Automatic currying of all functions and closures
I think there's basically two reasons one would explicitly return a closure:

1. to make currying easier
2. to be able to cache some work that can be reused repeatedly later

The first is (slightly verbosely) replaced by writing `|b| add(1, b)` at the call site, and automatic currying is not really a replacement for the second.

To replace 2, the compiler would have to do some form of [partial evaluation](http://en.wikipedia.org/wiki/Partial_evaluation)/[partial application](http://en.wikipedia.org/wiki/Partial_application), which I imagine would be quite difficult to do in a reliable manner in Rust, i.e. if it actually mattered for performance a human would probably do the partial application transformation manually anyway.