Bug 7458: Implement primitive-machine-word-shift-left-with-overflow

* sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
  (primitive primitive-machine-word-shift-left-with-overflow): Implement
   left shifting with overflow detection.
Bug 7458: Implement more double-word division primitives

* sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
  (primitive-machine-word-double-divide-quotient,
   primitive-machine-word-double-divide-remainder,
   primitive-machine-word-double-divide,
   primitive-machine-word-unsigned-double-divide-quotient,
   primitive-machine-word-unsigned-double-divide-remainder,
   primitive-machine-word-unsigned-double-divide): Implement primitive
   function emitters.
Bug 7458: Implement still more double-word division primitives

* sources/dfmc/llvm-back-end/llvm-primitives-machine-word.dylan
  (primitive primitive-machine-word-floor/): Factor out adjustments
   into op--machine-word-floor/.
  (op--machine-word-floor/): New separated-out method.
  (primitive-machine-word-ceiling/): Factor out adjustments
   into op--machine-word-ceiling/.
  (op--machine-word-ceiling/): New separated-out method.
  (primitive primitive-machine-word-round/): Factor out adjustments into
   op--machine-word-round/.
  (op--machine-word-round/): New separated-out method.
  (primitive primitive-machine-word-double-floor/-quotient,
   primitive primitive-machine-word-double-floor/-remainder,
   primitive primitive-machine-word-double-floor/,
   primitive primitive-machine-word-double-ceiling/-quotient,
   primitive primitive-machine-word-double-ceiling/-remainder,
   primitive primitive-machine-word-double-ceiling/,
   primitive primitive-machine-word-double-round/-quotient,
   primitive primitive-machine-word-double-round/-remainder,
   primitive primitive-machine-word-double-round/,
   primitive primitive-machine-word-double-truncate/-quotient,
   primitive primitive-machine-word-double-truncate/-remainder,
   primitive primitive-machine-word-double-truncate/): Implement primitive
   emitters.
Bug 7458: Fix LLVM type of primitive-double-integer-as-double-float

* sources/dfmc/llvm-back-end/llvm-primitives-float.dylan
  (primitive-double-integer-as-double-float): Generate a <raw-double-float>
   value.