remove thread.di header

- Use extern(D) bindings for the core.thread<->rt.tlsgc
  interface to avoid importing a rt module in core.
Merge pull request #865 from MartinNowak/tlsgc_externD

remove thread.di header
Fix Issue 13057 - posix getopt variables in core/sys/posix/unistd.d should be marked __gshared
Mark threadasm.S as not requiring an executable stack.
Merge pull request #868 from klickverbot/threadasm-exec-stack

Mark threadasm.S as not requiring an executable stack.
Fix declaration of lstrcmp/lstrcmpi in windows.d

According to MSDN (http://msdn.microsoft.com/en-us/library/windows/desktop/ms647488(v=vs.85).aspx), lstrcmp and lstrcmpi
follow the usual pattern of being macros expanding to either the ANSI (lstrcmpA) or Unicode (lstrcmpW).
The current declaration in windows.d misses the postfix A/W. This causes compile errors with ldc because the
mangled names are identical.
Merge pull request #874 from redstar/lstrcmp

Fix declaration of lstrcmp/lstrcmpi in windows.d
Merge pull request #869 from klickverbot/getopt-tls

Fix Issue 13057 - posix getopt variables in core/sys/posix/unistd.d should be marked __gshared