Decouple L.H.S.Decls from GHC.Types.ForeignCall (Part 1)
There are several data-types used within **`Language.Haskell.Syntax.Decls`** which are from **`GHC.Types.ForeignCall`** and *do not* require extensibility via the *"Trees that Grow"* (TTG) methodology.
The following data-types will be migrated from **`GHC.Types.ForeignCall`** to **`Language.Haskell.Syntax.Decls`**:
* `Saftey`
* `Header`
* `CExportSpec`
The fact that these data-types do not require TTG change makes this issue more tractable that removing all data-types imported from **`GHC.Types.ForeignCall`**. Specifically, the follow data-types will be handled in a subsequent issue and MR.
Changes for another issue:
* `CType`: the data-type construction is very stringy, need to separate things out for pretty printing.
* `CCallTarget`: TTG extension with `Maybe Unit`
issue