This is another take on https://phabricator.haskell.org/D3844.

This patch removes then need for haddock to reimplement the calculation of exported names from modules. Instead when renaming export lists ghc annotates each IE with its exported names.

Haddocks current export logic has caused lots of trouble in the past (on the Github issue tracker):

- https://github.com/haskell/haddock/issues/121
- https://github.com/haskell/haddock/issues/174
- https://github.com/haskell/haddock/issues/225
- https://github.com/haskell/haddock/issues/344
- https://github.com/haskell/haddock/issues/584
- https://github.com/haskell/haddock/issues/591
- https://github.com/haskell/haddock/issues/597