fix direct execution of (shebanged) fasls

Broken since 4993cd5, when fasl-header-p stopped working on bivalent
streams.  Make it work on bivalent streams, as long as they're
seekable (i.e. don't sniff stdin for a fasl header; bad things happen).
fix a bug in signed modular arithmetic

Sadly not the ones that Eric gently reminds us of every month or so, but
a far more basic one.  If something is a (signed-byte x), its integer-length
will be at most (1- x).  Search appropriately for a signed arithmetic
variant.
Spill XMM registers in alloc_tramp

Thanks to Anton Kovalenko.
Port to x86-64 versions of Windows

  - Microsoft x86-64 calling convention differences compared to the
    the System V ABI: Argument passing registers; shadow space.
  - Inform gcc that we are using the System V ABI for a few functions.
  - Define long, unsigned-long to be 32 bit.  This change just falls
    into place now, since incompatible code had been adjusted earlier.
  - Use VEH, not SEH.
  - No pseudo atomic needed around inline allocation, but tweak alloc().
  - Use the gencgc space alignment that also works on win32 x86.
  - Factor "function end breakpoint" handling out of the sigtrap handler.

Beware known bugs, manifested as hangs during threads.impure.lisp,
happening rather frequently with 64 bit builds and at least much
less frequently (or not at all) with 32 bit binaries on the same
version of Windows, tested on Server 2012.  (All credit for features
goes to Anton, all bugs are my fault.)

Thanks to Anton Kovalenko.
Update tests for 64 bit Windows builds
Some support for platforms whose libraries do not maintain a frame pointer

For platforms on which system libraries are built with the
equivalent of -fomit-frame-pointer, i.e. do not maintain EBP, save
it in the thread structure upon entry to an exception handler, and
restore the register during call_into_lisp.

Currently for Windows on x86-64 only, where it is required.
Analogous changes had been implemented for x86, but are not included
here.

Thanks to Anton Kovalenko.
win32 pathname host: Switch to :lower canonical case
sb-bsd-sockets: Implement NON-BLOCKING-MODE on Windows

Thanks to Anton Kovalenko.
Upgrade to Windows Installer XML 3.5

Includes miscellaneous installer improvements from the Windows branch.

Thanks to Dmitry Kalyanov and Anton Kovalenko.
More Windows Installer tweaks

  - look for version 3.7 or 3.5 automatically

  - make the "start menu" shortcut optional

  - suppress "test-output" directory
Support long file names on Windows; more CRT function avoidance

  - Use native namestrings of the form \\?\ and \\?\UNC\ as required.

  - UNC pathnames now represented using the keyword :UNC in the device.
    This aspect of the implementation is user-visible, but considered
    subject to change.

  - Update a few final holdouts among the file system routines which
    were still using CRT functions and replace them with native versions:
    FILE-LENGTH, QUERY-FILE-SYSTEM, DELETE-FILE, DELETE-DIRECTORY.

  - Sneakily include a getenv change, technically unrelated.

Thanks to Anton Kovalenko.
Remove a few :FAILS-ON test flags for Windows
Warn about misconfigured locale.

Check the return value of setlocale(3) and inform about values of
relevant environment variables.
Fixes lp#727625
Fix a typo.

In the previous commit, varaibles -> variables.

Adjust NEWS by adding lp#n.
Factor INITIAL-THREAD-FUNCTION out of MAKE-THREAD
Split up new_thread_trampoline

Refactor it into two independent pieces for initialization and
deinitialization around the point of its central funcall.
In x86 arch_os_get_current_thread(), do not load from %fs

Simplify arch_os_get_current_thread() such that %fs is not being
loaded directly even on platforms which preserve it reliably (in
particular, Linux/x86 and Solaris/x86).

Aside from a code simplification and reduction of cross-platform
differences, this change is an improvement in the following way:

If arch_os_get_current_thread() gets called in a non-Lisp pthread,
it now returns NULL cleanly even on the platforms mentioned above.

On the other platforms, keep the support for restoring %fs, but
refactor to remove code duplication with arch_os_thread_init().
Coalesce the two differently-spelled Lisp features for this case
into one.
sb-rotate-byte: Don't use :if-component-dep-fails.

Newer ASDF doesn't support it anymore.
make.sh --help no longer runs clean.sh

Fixes lp#937001
Better error message for SLEEP.

Add explicit-check to defknown, sleep already explicitly checks the
argument.
Slightly improve the produced error message.