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
Suppress AMP warnings with -XNoImplicitPrelude (fixed Trac #8320)

The AMP warnings caused 'base' to be loaded even when we were
compiling 'ghc-prim'.  That is bad, bad, bad.  We got a very
obscure message
   attempting to use module ‛ghc-prim:GHC.Types’
     (libraries/ghc-prim/./GHC/Types.hs) which is not loaded

See Note [Home module load error] in LoadIface
oprhNamesOfFamInst should include the type family itself (fix Trac #8469)

Trivial fix; matches oprhNamesOfClsInst.
Add doc link
Refactor the topNormaliseNewType story, fixing Trac #8467

A bit of a mess had accumulated, with unclear invariants.

* Remove splitNewTypeRepCo_maybe, in favour of topNormaliseNewType_maybe
  (which had the same signature but behaved subtly differently).

* Make topNormaliseNewType_maybe guaranteed to return a non-newtype
  if it says (Just ty).  This is what was causing the loop in #8467

* Apply similar tidying up to FamInstEnv.topNormaliseType
Untabify and remove trailing spaces