WIP: MSVC continued

Following up on #6230, #6349, and others. This gets past the stack overflow when compiling `inference.jl` into the system image, but craps out at `pcre.jl` because the preprocessed PCRE headers don't come out correctly from the MSVC preprocessor (it doesn't understand `-dM`). Putting this up so people can look at it, I'll keep thinking about workarounds for the preprocessor issues - can probably copy some of them straight out of the MinGW binaries.

How to run this, assuming you have Visual Studio 2013 (express should work) installed:
- start a command prompt, `cd "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"`
- `vcvarsall x86_amd64`
- `cd` to your MSYS installation, whichever folder `sh.exe` is located in (either `bin` or `usr/bin` depending whether you're using MSYS1 or a recent MSYS2 - best to use msysgit here, otherwise you'll likely get an error message due to the MSYS version of `link.exe` showing up first in the path)
- `set MSYSTEM=MINGW32`
- `sh --login`
- `cd` to your Julia directory, checkout this branch
- save https://raw.githubusercontent.com/tkelman/julia/a896279cc81241d8b349a36f7c222da45846d583/contrib/windows/msys_build.sh to `contrib/windows/msys_build.sh`
- `ARCH=x86_64 USEMSVC=1 contrib/windows/msys_build.sh`

This downloads the latest Windows nightly binary and uses as many dependencies from it as possible, and downloads an MSVC build of LLVM that I made in early April. I should update that with our latest patches, and build a 32-bit version with VS 2013 at some point.
I think we can avoid this complicating ifndef if we write this as:
```c
#define CNAME jl_longjmp
#include "./../deps/openlibm/i387/ENTRY.h"
<function definition here>
#include "./../deps/openlibm/i387/END.h"
```

where `ENTRY.h` is:
```c
#define _START_ENTRY .p2align 2,0x90
#if defined(__linux__) || defined(__FreeBSD__) || defined(__ELF__)
#ifndef __APPLE__
#define EXT(csym)     csym
#endif
#define HIDENAME(asmsym)    .asmsym
_START_ENTRY
.globl EXT(CNAME)
.type EXT(CNAME),@function
EXT(CNAME):

#elif defined(_WIN32)
#define EXT(csym)     _##csym
#define HIDENAME(asmsym)    .asmsym

#ifndef _MSC_VER
.intel_syntax
.text
_START_ENTRY
.globl CNAME(x)
.section .drectve
.ascii " -export:" #CNAME
.section .text
.def EXT(CNAME)
.scl 2
.type 32
.endef
EXT(CNAME):
#else
.586
.model small,C
CNAME proc
#endif

#endif
```

and `END.h` is:
```c
#if defined(__linux__) || defined(__FreeBSD__) || defined(__ELF__)
.size CNAME, . - CNAME
#else
#ifndef _MSC_VER
.end
#else
CNAME endp
#endif
#endif

#undef CNAME
#undef CNAME
#undef _START_ENTRY
#ifndef __APPLE__
#undef EXT
#endif
```