AST changes to prepare for API annotations, for #9628

Summary:
AST changes to prepare for API annotations

Add locations to parts of the AST so that API annotations can
then be added.

The outline of the whole process is captured here
https://ghc.haskell.org/trac/ghc/wiki/GhcAstAnnotations

Lint fixes

Merge remote-tracking branch 'alanz/wip/ast-prepare-annotations' into wip/ast-prepare-annotations

Removing junk

Test Plan: sh ./validate

Reviewers: simonpj, austin

Subscribers: thomie, goldfire, carter

Differential Revision: https://phabricator.haskell.org/D426

GHC Trac Issues: #9628
In HsModule, make exports Located and imports not
Merge remote-tracking branch 'alanz/wip/ast-prepare-annotations' into wip/ast-prepare-annotations