dmd: make filenames const char*
dmd: Fix several bugs with respect to dwarf file info:

1) auto-generated code had no loc info (arguably not a bug, but now they point to the struct definition)
2) in multiobj mode, aka -lib builds, all DW_TAG_subprogram pointed to the first file rather than the appropriate source file
3) debug filename emission was reduced from O( (#segs * linenum_count)^2) to just O(#segs * linenum_count)
dmd: Include the function prologue in the .debug_line section
dmd: Not super confident in this one, but it matches what gcc produces better
dmd: fix build break on Windows
dmd: remove unneeded includes
dmd: Issue 5717 - 1.067 regression: appending Unicode char to string broken
dmd: ??
dmd: destructor building should be done in declaration
druntime: Merge branch 'master' of https://github.com/dsimcha/druntime into dsimcha-master
dmd: add OPdctor
dmd: add OPddtor
druntime: fixing build error
druntime: eliminated cyclic dependency
druntime: eliminated cyclic dependency part deux
druntime: fixed BSD compile error
druntime: Issue 1001 - print stack trace (in debug mode) when programs die
druntime: Better error message for integer overflow exception

I had read somewhere that this never happens on x86, but I discovered that isn't
true -- it happens for division of (-int.max-1) % -1. Possibly for some other
cases as well.
dmd: more on destructors
druntime: Changing gcBench to all lowercase names as per the D convention.