Fix a bug in stack layout with safe foreign calls (#8083)

We weren't properly tracking the number of stack arguments in the
continuation of a foreign call.  It happened to work when the
continuation was not a join point, but when it was a join point we
were using the wrong amount of stack fixup.
Whitespace only in deSugar/Desugar.lhs
Remove an unnecessary-looking import
Some release note additions.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Use OrdLists when parsing export lists

No functional changes
Remove redundant parentheses
Whitespace only in basicTypes/Avail.hs
Whitespace only in basicTypes/BasicTypes.lhs
De-orphan a load of Binary instances
Beautify a few Binary instances
Whitespace only in basicTypes/RdrName.lhs
Whitespace only in deSugar/Match.lhs
desugar code even when -fno-code is used; fixes #8101

We need to desugar the code, or we don't get the warnings from the
desugarer.
Remove an out-of-date comment (see #8101)
Move libffi's tarball into its own repo

This means that ghc-tarballs is only needed on Windows
Rename doDynamicToo to dynamicTooMkDynamicDynFlags

Makes it look less likely that people will confuse what it is for
(e.g. #8104).
Make sdist make a separate tarball for the Windows tarballs
Change which files --make mode thinks are 'Haskellish'

It thought that .cmm files were Haskellish, but then didn't know
how to compile them. Now they aren't treated as Haskellish, and
it can compile and link them.
Added operational semantics to docs/core-spec.
Add strength reduction rules (Fixes #7116)

This patch adds rules for converting floating point multiplication
of the form 2.0 * x and x * 2.0 into addition x + x.