Fix Trac #7667.

We no longer check capitalization (or colons) in names that come
from TH, according to the commentary in #7667.
Merge branch 'master' of git://git.haskell.org/ghc
Rename topNormaliseType to topNormaliseType_maybe
and add new, simpler topNormaliseType

This is just a minor refactoring
Fix Trac #8448

We weren't dealing with built-in syntax; data constructors
that are built-in syntax (only [] actually) don't appear
in the GlobalRdrEnv
Normalise the type when generating do-bind warnings (Trac #8470)

This was easy to do, except that the desugar monad needs a
FamInstEnv init.  Straightforward, routine, albeit a bit clunky.
Fix Trac #8455.

This was quite simple -- just use mkIntegerExpr instead of mkIntExpr.
Refine fix for #7667.

Now, we allow types that do not begin with ':', but we retain other
checks on variable names.
Comments & typos only
Change GeneralizedNewtypeDeriving safety check.

Now, instead of looking at a class's roles, the GND check looks
at all of the methods in the class individually. This has the
advantage that sometimes, we can use information about the
derivation requested during the safety check. For example,
we can now derive (IArray UArray), whereas the previous check
prevented this.
Change default roles for classes to be *nominal*.
Update user manual with respect to new default for class roles.
Be more selective about when to print out roles with :info
Merge branch 'master' of git://git.haskell.org/ghc
Remove debugging printouts -- sorry!
Revert "Fix Trac #7667.", restoring the refined fix.

Apologies -- there was some git confusion that cause the Wrong Thing
to happen.

This reverts commit bb9d53e32da52221173431733928c497187686ff.

Conflicts:

	compiler/hsSyn/Convert.lhs