Fix #1015 with dataConUserTyVars (#1022)
Fix #1015 with dataConUserTyVars (#1022)

The central trick in this patch is to use `dataConUserTyVars` instead of
`univ_tvs ++ ex_tvs`, which displays the foralls in a GADT constructor in
a way that's more faithful to how the user originally wrote it.

Fixes #1015.
haskell/haddock,haskell/haddock,haskell/haddock,haskell/haddock,haskell/haddock