Merge pull request #2010 from yebblies/loc0

[DDMD] Do not use implicit conversion from 0 to Loc
Add backend-independent stub glue layer
Replace expression macro with lines in it
Turn el_setLoc into a function
Get rid of function-local extern function declaration
Expand macros
Initializer lists
typedef X { } name
Replace a macro with #ifdef
Replace another rename macro with an #ifdef
Implicit conversions and shadowing
0->Loc
unsigned char* -> const char*
Breaks utf8 BOM
Make char unsigned
More implicit conversion errors
Mostly implicit conversions
Stack allocations, implicit conversions
Don't overload for enum types
Get rid of volatile_longdouble (do we need this?)
No implicit Object -> void*
No implicit real -> creal
Use memcpy to copy classes, no assignment
No implicit Identifier -> char* conversion
Some problem with [] -> * conversion inside functions (possible d bug)