Bug 7458: Fix emitting runtime primitives that do not return

* sources/app/llvm-runtime-generator/llvm-runtime-generator.dylan
  (generate-runtime-primitive): Don't generate a return instruction if
   the end of the runtime primitive is unreachable.
Bug 7458: Add arithmetic exception handlers

* sources/dfmc/llvm-back-end/llvm-exceptions.dylan: New file
  containing definitions for arithmetic exception handling auxiliary
  runtime primitives.

* sources/dfmc/llvm-back-end/llvm-back-end.lid:
  Reference llvm-exceptions.dylan.

* sources/app/llvm-runtime-generator/llvm-runtime-generator.dylan
  ($runtime-referenced-functions): Add Dylan library exception
   handling functions to the list of functions referenced within the
   generated runtime.
Bug 7458: Trap arithmetic instructions on Mac OS X

* sources/lib/run-time/llvm-exceptions.c: New file containing C
  definitions for POSIX arithmetic exception signal handling.

* sources/lib/run-time/Makefile.in: Reference llvm-exceptions.c.

* sources/lib/run-time/llvm-runtime.h
  (EstablishDylanExceptionHandlers, RemoveDylanExceptionHandlers): Declare
   new exception handling control functions.

* sources/lib/run-time/llvm-runtime-init.c
  (_Init_Run_Time): Call EstablishDylanExceptionHandlers().

* sources/lib/run-time/exceptions.c: Suppress exception-handling
  definitions used with the HARP back-end when compiling for
  use with the LLVM back-end.
Bug 7458: Generate unwind information for non-local exits

* sources/jamfiles/posix-build.jam: Add -fexceptions to CCFLAGS when
  compiling for the LLVM back-end.

* sources/lib/run-time/Makefile.in: Add -fexceptions to LLVM_CFLAGS
  when compiling the runtime for use with the LLVM back-end.
  Bug 7458: Limit MV return values to the returned count

 * sources/dfmc/llvm-back-end/llvm-mv.dylan
   (op--mv-extract): Return #f for return value indices beyond the
    returned value count.
Bug 7458: Fix value cell code generation

* sources/dfmc/llvm-back-end/llvm-primitives-value-cell.dylan
  (op--make-closed-over-cell): Instantiate the correct value cell class
   for single-float and double-float cells.
  (op--get-closed-over-cell, op--set-closed-over-cell): Generate correct
   access code for single-float and double-float cells.
Bug 7458: Fix generation of closure reference value transfers

* sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
  (emit-transfer): Generate closure references when the source
   temporary is in an enclosing function environment.
Bug 7458: Fix non-local exit code generation

* sources/dfmc/llvm-back-end/llvm-emit-computation.dylan
  (emit-computation on <exit>): Generate a fake result value
   for the <exit> node.
  (emit-computation on <unwind-protect>): Don't generate resume code
   if control flow does not reach beyond the cleanup code.
Snapshot.