Move system directory cache out of utils
Include stdarg.h for the va_copy test
Remove now-duplicated stdarg.h include
Merge pull request #2139 from ethomson/va_copy_warning

Include stdarg.h for the va_copy test
Merge pull request #2138 from ethomson/sysdir

Move system directory cache out of utils
- BUGFIX #2133 (@fourplusone) in smart_protocol.c
- added MSVC cmake definitions to disable warnings
- general.c is rewritten so it is ansi-c compatible and compiles ok on microsoft windows
- some MSVC reported warning fixes