Steps towards MSVC compatibility

Add USEMSVC variable to Make.inc for handling different flags and toolchain

Fix LLVM header problem in codegen.cpp due to define on min/max

Use __cpuid intrinsic for msvc instead of inline assembly

Add explicit casts, fixup ifdefs (_WIN32 instead of __WIN32__)

The changes to the Makefiles assume you're using the `compile` and `ar-lib` wrapper scripts from Automake, explicitly overriding `CC` and `AR`. This gets to flisp and then runs into trouble: https://ci.appveyor.com/project/tkelman/julia/build/1.0.127