Fix linked list manipulation code (buggy on consecutive deletion)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Make BlockAlloc.c comment slightly more accurate (fixes #8491)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Instead of tracking Origin in LHsBindsLR, track it in MatchGroup
Typos in comments
Update Haddock submodule to follow LHsBindsLR changes

This submodule update was forgotten to be included in
eeaea2df3fa585db503034f419c6e4331a4d8a84

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Better layout for coercion error message
Tidy up trace message
A bit more trace information in an ASSERT failure
Honour the untouchability of kind variables

Trac #8985 showed up a major shortcoming in the kind unifier: it was
ignoring untoucability.  This has unpredictably-bad consequences;
notably, the skolem-escape check can fail.

There were two things wrong
 * TcRnMonad.isTouchableTcM was returning a constant value for kind variables
   (wrong), and even worse the constant was back-to-front (it was always False).

 * We weren't even calling isTouchableTcM in TcType.unifyKindX.

I'm not sure how this ever worked.

Merge to 7.8.3 in due course.
Test Trac #8985
s/FromList/isList in docs

This was reported by David Virebayre on haskell-cafe.
Update Cabal submodule to tip of v1.20 branch

This corresponds to the RC of the soon-to-be Cabal 1.20 release

One noteworthy change is the removal of the `--with-ranlib` flag
requiring a small adaptation in the GHC build system.

Moreover two new licences were added, MPL and BSD2.

Due to https://github.com/haskell/cabal/issues/1622 Cabal-1.20 now
allows to strip libraries as well, this doesn't work well with
`ghc-cabal copy` being fed a `":"` strip-command argument which was
simply ignored in the past. The current code tries to retain this
semantics as backward compat. However, this needs more investigation as
I'm not sure if/why the `test_bindist` step doesn't want the libraries
to be stripped on installation.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Make qReport force its error message before printing it

Fixes Trac #8987.  See Note [Exceptions in TH]

Thanks to Yuras Shumovich for doing this.
Update Cabal submodule to latest tip of 1.20 branch

The testsuite reference output for ghcpkg01 needs to be adapted
since a "More diff friendly pretty printing of cabal files"
is now performed.
Merge remote-tracking branch 'origin/master' into overloaded-record-fields

Conflicts:
	compiler/typecheck/TcTyClsDecls.lhs
	utils/haddock
Sort out the unused-imports ordering problem once and for all