Fix error message when stringpatch can't open file

"Could not open 256 for writing!" was a confusing one.
Merge pull request #6013 from tkelman/patch-2

Fix error message when stringpatch can't open file
fix ios_t layout for 32-bit. hopefully fixes #6016

also move word-size detection to platform.h where it seems to belong
allow zeros, ones, infs, nans to accept any array, not just matrices
fix produce() before consume(). closes #6010

better than an improved error message, make it work :)
Bump libuv and specify minimum Wine for xcompile

Fixes cross-compilation

- jl_stat is broken on Wine since libuv now uses NtQueryVolumeInfo
(https://github.com/joyent/libuv/commit/315d7001
and
https://github.com/joyent/libuv/commit/20a8e58a),
which is not implemented for `FileFsVolumeInformation`

```
fixme:ntdll:NtFlushInstructionCache 0xffffffffffffffff 0x1180000 524288
fixme:ntdll:NtQueryVolumeInformationFile 0xb0: volume info not supported
could not open file boot.jlwine: Unhandled page fault on read access to
0x00000008 at address 0x6e6d2617 (thread 049e), starting debugger...
```

See: https://github.com/JuliaLang/libuv/commit/a37279a1

- due to libuv changes, cross-compile must use a very recent wine.
  both uses of `getsockopt` in `libuv/win/winsock.c:uv_winsock_init` return `SOCKET_ERROR`
  on wine1.4 (which is still the default through Ubuntu 13.10).

  - Upgrading to wine1.7 from the [PPA](http://www.ubuntuupdates.org/ppa/wine) fixes the problem.

  (this `getsockopt` check never actually worked, the check
  [was previously disabled](https://github.com/joyent/libuv/commit/d170c915))
The intent of this PR is update README.windows.md with known-good-as-of-date instructions.

Key changes include:

1. stating which versions of Windows are supported as build platforms
2. promoting MSYS2 from experimental to preferred status
3. placing MSYS in a fallback position for users who cannot or prefer not to use MSYS2.
4. simplifying the shell environment setup (no changes to fstab; minimal path to avoid shadowing)
5. relying on official Python 2.x build for Windows makes MSYS[2] python redundant
6. note an idiosyncracy of the currently used version of OpenBLAS which requires an extra `make`
7. updating the paths for dependnecies, where these have changed on SourceForge

Feedback on content and style are all welcome.
Most of all, thanks to everyone who helped me get comfortable with building Julia on Windows.
Merge pull request #6019 from cmundi/master

Update Windows build guidance
Fix spelling in README.windows
add jl_yield, and a global way to set the root stack base from the embedding API

fixes #6006

add COPY_STACKS to options.h
update embedding example and docs
Updated package list
README.windows: formatting