Implement the "Derive Lift instances for data types in template-haskell" proposal (#14030)
After #22229 (closed) had been fixed, we can finally derive the Lift
instance for the
TH AST, as proposed by Ryan Scott in
https://mail.haskell.org/pipermail/libraries/2015-September/026117.html.
Fixes #14030 (closed), #14296 (closed), #21759 (closed) and #24560 (closed).