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)
It was mentioned in IRC that it might make sense to add the contained trait (eg: `FooBar::foo_bar()`). Not sure though if that should be the default or not.