Fix Issue 12164 - Function returning ptrdiff_t.min in 64-bit returning 0 when -O is set

The trick used to optimize ?const:const doesn't work when you can't actually express the value as immediates.  They were silently truncated leading to incorrect results.

Values were also truncated due to a typo.
Use an alloc function for Token freelist instead of operator new.
Fix Issue 12820 - DMD can inline calls to functions that use alloca, allocating the memory in the caller function instead.
Fix Issue 13023 - optimizer produces wrong code for comparision and division of ulon
Merge pull request #3805 from yebblies/issue12164

Fix Issue 12164 - Function returning ptrdiff_t.min in 64-bit returning 0 when -O is set
Merge pull request #3809 from yebblies/issue13023

Issue 13023 - optimizer produces wrong code for comparision and division of ulong
Merge pull request #3808 from yebblies/tokalloc

[DDMD] Use an alloc function for Token freelist instead of operator new.
Merge pull request #3811 from yebblies/issue3918

Issue 12820 - DMD can inline calls to functions that use alloca, allocating the memory in the caller function instead.
Add manually ported frontend source files to version control
Add settings file and makefile targets to build ddmd
Add generated source to .gitignore
Add magicport source to repo
Hack-hacky hack hack
Hacks until host dmd is updated