Changes made to vs2015 build

To Do

Questions

1. Why is /Gs used?  This initiates stack probes for every function call (not just functions that use more then 4k)?
2. Why is /Oi- used?  This turns off compiler intrinsics.
3. Why is /FS used?  This forces serialization of writes to PDB.  This really isn't needed.
4. Why are we disabling optimizations for release builds?
5. Why are we omitting frame pointers?  Makes debugging harder.  Crash dumps less usefull.
6. Why are we forcing function level linking?
7. Why are we turning off intrinsics (again)?
8. Why are we enabling additional security checks? (SDLCheck)
9. Why are we using string pooling?
10. Why do we turn off multi-processor compilation?

Nethack Compiler Settings - Release
/Gs
/Oi-
/FS
Optimizations:Disabled
WarningLevel:Level3
InlineFunctionExpansion:Default
FavorSizeOrSpeed:Speed
OmitFramePointers:true
Optimization:MaxSpeed
FunctionLevelLinking:true
IntrinsicFunctions:false
PreprocessorDefinitions:TILES;MSWIN_GRAPHICS;WIN32;WIN32CON;DLB;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_CONSOLE;_LIB;
SDLCheck:true
AdditionalIncludeDirectories:..\win\win32;..\include;..\sys\winnt;..\sys\share;..\win\share;
StringPooling:true
RuntimeLibrary:MultiThreaded
SuppressStartupBanner:true
MultiProcessorCompilation:false

Nethack Link Settings - Release
SubSystem:Console
GenetateDebugInformation:true
EnableCOMDATFolding:true
OptimizeReferenes:true
AdditionalDependencies:kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;
SuppressStartupBanner:true
TargetMachine:MachineX86
