Bug 7458: Further improve LLVM code generation Makefile test jigs

* Makefile.in (testc, testl): Fix merge errors. Stop on directory errors.
Bug 7440: Provide a builder mechanism for adding code to a block

* sources/lib/llvm/llvm-builder.dylan
  (with-insert-before-terminator): New macro for adding code to an
   already-closed basic block.

* sources/lib/llvm/llvm-library.dylan
  (module llvm-builder): Export with-insert-before-terminator.
Bug 7458: Use thread_local for thread variables where available

* sources/dfmc/llvm-linker/llvm-link-object.dylan
  (emit-definition on <module-binding>): Use thread_local for thread
   variables on platforms that support it.
  (emit-extern on <module-binding>): Use thread_local for thread
   variables on platforms that support it.

* sources/dfmc/llvm-back-end/llvm-emit-computation.dylan

  (emit-computation on <variable-reference>): Do direct reads from
   thread_local variables when available, or use
   primitive-read-thread-variable otherwise.
  (emit-computation on <assignment>): Do direct writes to thread_local
   variables when available, or use primitive-write-thread-variable
   otherwise.
  (emit-computation on <definition>): Use primitive-allocate-thread-variable
   when needed.
Bug 7458: Use global_ctors for initializations in dfmc-llvm-linker

* sources/dfmc/llvm-linker/llvm-linker.dylan
  ($system-init-ctor-priority, $user-init-ctor-priority): New constants.
  (emit-init-code-definition): Append entries for the module's for_system
   and for_user initialization functions to the llvm.global_ctors
   special LLVM variable.