fix Issue 13779 - gdb can't find frame base when using ld.gold

- missing relocation addend .debug_info reference to .debug_loc
add comment on #else branch
refactoring

- add dwarf_apprel32 to encapsulate the difference between relocations
  with addend (.rela, 64-bit) and those without addend (.rel, 32-bit)
Merge pull request #4168 from MartinNowak/fix13779

 fix Issue 13779 - gdb can't find frame base when using ld.gold
[Refactoring] Add findGotoTarget to share common code
[Refactoring] Return NULL from WithStatement::interpret()
[Refactoring] Remove Statement::interpret()
[Refactoring] Remove Expression::interpret()
[Refactoring] Handle NULL Expression or Statement in interpret() call
Improve error messages in CTFE interpreter
[Refactoring] Make interpretFourPointerRelation static

Explicitly returning result from the non trivial helper function would be better than implicit result setting.
+stash for the code style changes
interpret FuncDeclaration as a VarExp

In CallExp, if its e1 is DotVarExp and pthis is a VarExp, interpreting
it to a literal would be problematic currently.
Later it should be fixed and CallExp::interpret should be simplified more.

-> Its a problem around __cpctor function call. Correctly initializing
new variable fixes the issue.
handle direct call (the flag should go in front-end)
+Support DotTypeExp