Backport recent changes relevant for HIE to 8.8 branch
This is a backport of PRs !1014 (closed) and !1027 (closed) for the 8.8 branch.
We would like to use these changes in Haskell-IDE-Engine as soon as possible so if we can still get this into 8.8 great :)
There is a new commit in here, 7124ec25 ("Move throwErrors to HscTypes"), as a replacement for 1ffee940 ("Fix warnings and fatal parsing errors") from master which 56144f0e ("Refactor downsweep to allow returning multiple errors per module") depends on. Everything else was already reviewed and merged on master.