hsSyn: add a new GhcSe phase for representing completely serialisable ASTs

Where by serialisable, we mean in the sense of the Binary module.
This patch comes with utility functions for converting to/from GhcPs.
The main difference with GhcPs ASTs is the representation of names and
(syntax level) types in several places in the AST data types.
21 jobs for !1 with wip/alp/ghcse-phase in 47 seconds (queued for 4 seconds)
latest detached
Status Job ID Name Coverage
  Lint
failed #116169
lint
ghc-linters

00:00:12

passed #116170
lint
lint-linters

00:00:12

passed #116173
lint
lint-submods-mr

00:00:14

passed #116171
lint
lint-testsuite

00:00:14

passed #116172
lint
typecheck-testsuite

00:00:13

 
  Build
skipped #116175
x86_64-linux
hadrian-ghc-in-ghci
skipped #116177
x86_64-linux
release-x86_64-linux-deb9-dwarf
skipped #116176
x86_64-linux
validate-x86_64-linux-deb9-debug
skipped #116174
x86_64-linux
validate-x86_64-linux-deb9-hadrian
 
  Full Build
skipped #116179
aarch64-linux allowed to fail
validate-aarch64-linux-deb9
skipped #116180
x86_64-linux
validate-i386-linux-deb9
skipped #116178
x86_64-darwin
validate-x86_64-darwin
skipped #116181
x86_64-linux
validate-x86_64-linux-deb9-integer-simple
skipped #116182
x86_64-linux
validate-x86_64-linux-deb9-unreg
skipped #116183
x86_64-linux
validate-x86_64-linux-fedora27
skipped #116185
x86_64-windows allowed to fail
validate-x86_64-windows
skipped #116184
x86_64-windows allowed to fail
validate-x86_64-windows-hadrian
 
  Cleanup
passed #116186
x86_64-darwin
cleanup-darwin

00:00:05

 
  Packaging
skipped #116187
x86_64-linux allowed to fail
doc-tarball
 
  Testing
skipped #116188
x86_64-linux allowed to fail manual
hackage
skipped #116189
x86_64-linux
perf-nofib
 
Name Stage Failure
failed
ghc-linters Lint
commit b6858a29adc668e1cdffb8b5a48bfbf798819b8f has whitespace linter issues:

*ERROR* compiler/hsSyn/HsExprBin.hs-boot:4: lacking final EOL
> "emptyHsSpliceData :: HsSpliceData"

Validation FAILED for b6858a29adc668e1cdffb8b5a48bfbf798819b8f
=====================================================================================
Validation FAILED because at least one commit had linter errors!
ERROR: Job failed: exit code 1