lazier generation of stack traces

http://d.puremagic.com/issues/show_bug.cgi?id=9584

In my tests, I got a > 20x speedup of typical exception handling speed (when it is just caught, the expensive string lookup is not performed, but it is still available on demand with toString for printing) without losing any functionality. I didn't test thoroughly though to it is potentially buggy - I think a few more people should give it a try and double check the speed result too before actually merging.