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__)
Updates for MSVC

patch utf8proc so it can compile in either C or C++ mode

dont define USE_COMPUTED_GOTO for MSVC
(might be an odd double-definition problem from some header)

add utf8proc info to src/flisp/Windows.mk
(needs some improvement on handling of utf8proc
version number and assumption of cl vs icl)

add strtod to Windows.mk

add DLLEXPORT before jl_init_frontend(void)

modify OSLIBS and CONFIGURE_COMMON for msvc
Minor MSVC changes

compile basename and dirname for msvc

disable line endings error

define HUGE_VALF if needed

add shell32.lib and winmm.lib to OSLIBS

modify preprocessing for MSVC

add include path to openlibm for fenv.h
Enforce C linkage everywhere

in order to compile Julia with a C++ compiler (specifically MSVC)
adjust linker invocation for msvc

skip flisp unit test with msvc (for now?)

skip a few headers (will need to find replacements for these)
Work to get basic REPL to compile with MSVC

explicit casts and fix ifdefs (__WIN32__ => _WIN32)

remove unistd header already included in repl.h

remove DLLEXPORT from repl.h

use hex code for escape

put back getopt.h

define dirname and PATH_MAX for repl

fix LDFLAGS that MSVC doesn't understand

skip julia_res.o with msvc

extern C linkage on repl
REPL now compiles with MSVC

crashes immediately, but it's a start

extern C on basename, dirname, jlapi

DLLEXPORT on basename, dirname

add export to link command for jl_setjmp and jl_longjmp

get uv to export symbols
another explicit cast for libuv bump
extern C on jl_in_stackwalk
skip EXCEPTION_EXECUTE_HANDLER case for MSVC
Fixes mmap error when reading 0-byte files, issue #6321
Bind meta-backspace
Merge pull request #6334 from mbauman/meta-backspace

REPL: Bind meta-backspace to delete previous word
Fix test_approx_eq with complex NaNs
Explain "x < 0 && return 1" idiom

In the section on Conditional Evaluation, highlight Short-Circuit Evaluation as an alternative for very short if-statements.
In the section on Short-Circuit Evaluation, explain the idiom of "condition && statement", "condition || statement". 
Note that I don't know how this "doctest" stuff works, pls check my submission for correctness (I've copied/pasted straight from a Julia REPL).
Merge pull request #6336 from fabianlischka/patch-2

Explain "x < 0 && return 1" idiom
fix #6333 (repl tab completion replaces too much)
Add a kill buffer and implement yanking

Binds control-y to yank. The kill buffer (not a real kill-ring) is stored in MIState.
Merge pull request #6337 from mbauman/kill-yank

Add a kill buffer and implement yanking
fix #6335