Update `unix` submodule to disable getlogin tests
Don't re-export `Alternative(..)` from Control.Monad (re #9586)

This was done in d94de87252d0fe2ae97341d186b03a2fbe136b04 to avoid orphans
but since a94dc4c3067c6a0925e2e39f35ef0930771535f1 moved `Alternative`
into GHC.Base, this isn't needed anymore.

This is important, as otherwise this would require a non-neglectable amount
of `Control.Monad hiding ((<|>), empty)` imports in user code.

The Haddock submodule is updated as well

Test Plan: partial local ./validate --fast, let Harbormaster doublecheck it

Reviewed By: ekmett, austin

Differential Revision: https://phabricator.haskell.org/D248
Update Cabal submodule to latest master branch tip
Replace obsolete `defaultUserHooks` by `autoconfUserHooks`

This also updates a few submodules
Stop exporting, and stop using, functions marked as deprecated

Don't export `getUs` and `getUniqueUs`. `UniqSM` has a `MonadUnique` instance:

    instance MonadUnique UniqSM where
        getUniqueSupplyM = getUs
        getUniqueM  = getUniqueUs
        getUniquesM = getUniquesUs

Commandline-fu used:

    git grep -l 'getUs\>' |
        grep -v compiler/basicTypes/UniqSupply.lhs |
        xargs sed -i 's/getUs/getUniqueSupplyM/g

    git grep -l 'getUniqueUs\>' |
        grep -v combiler/basicTypes/UniqSupply.lhs |
        xargs sed -i 's/getUniqueUs/getUniqueM/g'

Follow up on b522d3a3f970a043397a0d6556ca555648e7a9c3

Reviewed By: austin, hvr

Differential Revision: https://phabricator.haskell.org/D220
Set default-impl of `mapM`/`sequence` methods to `traverse`/`sequenceA`

This is made possible by the AMP, as we don't need the `WrappedMonad`
helper for that anymore.

Approved-by: Edward Kmett <ekmett@gmail.com>
User's Guide: Fix compiler plugin example (#9641, #7682)

The previous fix was incorrectly eta-reduced.
Generalise `Control.Monad.{when,unless,guard}`

Generalise `when`/`unless`from `Monad` to `Applicative` and `guard` from
`MonadPlus` to `Alternative` respectively.

This was made possible by the AMP and is somewhat related to #9586
(but generalising in the context of the AMP instead of the FTP)

Reviewed By: ekmett, austin

Differential Revision: https://phabricator.haskell.org/D253
Generalise `guard` for real this time

This was missed in D253 / a07ce1654ac5b8033f2daf9270c6e182415b69ca
Extend `Foldable` class with `length` and `null` methods

This completes the `Foldable` class by two important operations which
this way can be optimised for the underlying structure more easily.

A minor fix for the `containers` submodule was needed to due name clash

Addresses #9621

Reviewed By: ekmett, dfeuer, austin

Differential Revision: https://phabricator.haskell.org/D250
Fixup nofib submodule to cope with e5cca4ab246ca2
bugfix: EventCapsetID should be EventThreadID
Document that -dynamic is needed for loading compiled code into GHCi
Revert "rts: add Emacs 'Local Variables' to every .c file"

This reverts commit 39b5c1cbd8950755de400933cecca7b8deb4ffcd.
Add emacs indentation/line-length settings
Update hsc2hs submodule

to get David’s code improvements (#9654).
Fix bogus comment
Comments about the let/app invariant
Don't use newSysLocal etc for Coercible

The code is smaller and simpler now.  Thanks to Richard for
raising the question.
Update Win32 submodule to avoid potential -Werror failure