Always quote arguments to removeFiles (fixes Windows install).

Thanks to Daniel Pratt <colorblinddad@gmail.com> for pointing out the failure
and fix.
Fix displayed string
Add separate rules for all .hi files, rather than using %.hi style

If a file is created by a %.hi rule, and the actual filename isn't
mentioned in the makefiles, then make will treat it as an 'intermediate
file' and delete it when it is finished.

We'd been lucky so far that .hi files weren't actually being built due
to our rules (but rather, as side-effects of the .o rules). However,
when using -dynamic-too to build, we had a rule
    $1/$2/build/%.$$(dyn_osuf): $1/$2/build/%.$$(v_hisuf)
which meant that building a .dyn_o could cause the rule for the
corresponding .hi to be used, and the .hi may then be deleted later on.
This was exacerbated by a bug in GNU make 3.81 which caused make to
enter an infinite loop if running in parallel mode:
    http://lists.gnu.org/archive/html/bug-make/2013-02/msg00020.html

Adding
    .SECONDARY:
would stop make from deleting the intermediate files. However, this
caused make to take a pathologically long time (it appeared to be
live-locked for 2 hours before I killed it) with our build system.

This patch instead creates lines like
    $(eval $(call hi-rule,libraries/base/dist-install/build/Unsafe/Coerce.dyn_hi libraries/base/dist-install/build/Unsafe/Coerce.hi  : %hi: %o  libraries/base/Unsafe/Coerce.hs))
in the .depend files, which results in a rule like
    libraries/base/dist-install/build/Unsafe/Coerce.dyn_hi libraries/base/dist-install/build/Unsafe/Coerce.hi  : %hi: %o  libraries/base/Unsafe/Coerce.hs ;
which, as the files are now all named in the makefiles, means they are
no longer intermediate files so do not get deleted.
Make the build system use -dynamic-too if both way v and dyn are being built
Add another chapter to the hi-rule novel
Tweak the sed command so that it works on OSX

Using { } with sed on OS X requires using newlines rather than
semicolons. I've rewritten the sed so that no { } are necessary.
Turn -dynamic-too off in the build system for now
x86: promote arguments to C functions according to the ABI (#7383)

I don't think the x86-64 version is quite right, but this ought to be
enough to pass cgrun071.

This code is terrible and needs a complete refactor.  There's a lot of
duplication, and we ought to be specifying the ABI in a much more
abstract way (like LLVM).
Use unicode quote characters in error messages etc; fixes #2507

We only use the unicode characters if the locale supports them.
Fix the compiler plugin example; patch from edsko; fixes #7682
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.
Space edits to scheduler
Merge branch 'master' into ghc-lwc2
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
Fix parsing of pragmas containing unicode characters; fixes #7671
Fix a TODO in the compiler

AnnProvenance now has Functor, Foldable, Traversable instances.
Update submodule
Clarify comment