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