Remaining API Annotations updates for GHC 8.8
This is a combination of four commits, each closing one of the following trac issues
#16230 (closed), #16236 (closed), #16265 (closed), #16279 (closed)
Note: #16265 (closed) includes an update to the haddock submodule, which will have to move out of the wip/ tree when merging.
It also supersedes !258 (closed) and !278 (closed) as those patches are included here.
DO NOT SQUASH on merge.