Fix call of ghc to work with ghc-7.6.2.

With these changes zeroth seems to work, though it is quite fragile.
For example, this is translated correctly:

 {-# LANGUAGE TemplateHaskell #-}
 import Language.Haskell.TH
 fmap (:[]) $ valD (varP (mkName "x")) (normalB [| 5 |]) []
 main = print x

While this file should work:

 [d| x = 5 |]
 main = print x

But zeroth incorrectly translates it with the wrong name:

 x_0 = 5
 main = print x
Update to latest haskell-src-exts
compile with newer haskell-src-exts

some newer constructors are still missing or unhandled
replace top-level NameU with NameS

This lets zeroth process like:

{-# LANGUAGE TemplateHaskell #-}
module Main where

[d| x = 1 |]

main :: IO()
main = print x

Previously you'd get a `x_0 = 1', which makes the generated file fail at
finding `x'
Merge ../zeroth-aavogt

Conflicts:
	src/Language/Haskell/TH/ZeroTH.hs
Merge hskeleton in to fix overlapping instances in the hackage version
Import tidying
Add 7.8.2 constructors to pattern matches
Add QuasiQuotes to unwantedLanguageOptions
A lame bandaid to fix parsing of lets in do notation