Add "function name macro"

This RFC proposes the addition of a `function!` macro that expands to the function it's used in.  This will greatly help error reporting.

[Rendered View](https://github.com/mitsuhiko/rfcs/blob/master/text/0000-function-name-macro.md)
> even if a function is contained in another function, it's just the the actual name

I'm not sure what this means. Can you elaborate? If `foo` contains `bar`, what does `function!()` within `bar` produce?