Add options to derive Data,Typeable,Generic to Haskell backend
Derive `Read` for newtype decls in Haskell backend

This relates to BNFC/bnfc#84 . Currently the definition for Ident is:

    newtype Ident = Ident String deriving (Eq,Ord,Show)

This commit changes this definition to:

    newtype Ident = Ident String deriving (Eq,Ord,Read,Show)

This allows users to translate Ident's from one language to another,
e.g:

    LangX.IdentExp ident -> LangY.IdentExp (read (show ident))

One caveat is that is that ther newtype definitions will also derive
Read, though I can't comment on the significance of this?
Merge deriveGeneric and deriveDataTypable to --ghc flag

--ghc specifies to use ghc-specific language extensions.
Merge pull request #83 from JohnLato/master

Add a `--ghc` option to derive Data,Typeable,Generic to Haskell backend
Merge branch 'read-derivation' of https://github.com/robstewart57/bnfc into robstewart57-read-derivation

Conflicts:
	source/src/BNFC/Backend/Haskell/CFtoAbstract.hs