Check clang/WIN32 optins

- Disable deprecated warnings
- set MSVC target
Disable compiler definitions for MSVC
Reorder includes in vim.h

- The first two includes should be config.h followed by
  os_defs.h
Fix declaration generation for MSVC compiler
MSVC does not have strncasecmp
Defined MSVC_CLANG

- MSVC_CLANG is set in config.h.in
- Refactored some CMake entries to use it instead
MSVC: Add restrict/inline defines
Add brackets to if statements
Add platform defines for MSVC
Add MSVC defines
Add if statement brackets
Remove old windows code