[enh] Issue 5140 - Implement __FUNCTION__ feature

http://d.puremagic.com/issues/show_bug.cgi?id=5140

`__FUNCTION__` is a common feature found in other languages and compilers. C99 defines it as `__function__`, although various compilers use their own naming (uppercase or lowercase, sometimes `__func__`).

List of compilers that I know of implementing the feature:

- [GCC](http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html)
- [MSVC][MSVCLink]
- [Oracle](http://docs.oracle.com/cd/E18659_01/html/821-1384/gipgw.html)
- [DMC](http://www.digitalmars.com/compiler.htm#new844)

[MSVCLink]: http://msdn.microsoft.com/en-us/library/b0084kay%28v=vs.80%29.aspx