Fix autoconf code to find LLVM tools.

The loop exit condition was testing ${LLC} instead of $1, which was
incorrect. While I'm here, quote the path being tested since it may contain
spaces (e.g. on Windows), and don't search paths that don't exist, which
eliminates un-useful error messages from find.
Split SettingsCCompilerFlags into non-link and link portions

This fixes certain older GCCs which do not accept link options when assembling or compiling:

  ppc_85xx-gcc: --hash-size=31: linker input file unused because linking not done
  ppc_85xx-gcc: --reduce-memory-overheads: linker input file unused because linking not done

and diagnose this to stderr.
Change how unboxed tuples are lexed; fixes #7627

(# is now always a lexeme, even if followed by a symbol.
Only emit %write_barrier primitive for THREADED_RTS
Merge branch 'master' into master-merge-ios