Better docs for MINIMAL
Comments only
Move defaultClassMinimalDef from BuildTyCl to TcClassDcl

Simple refactoring.

Also in Vectorise.Types/TyConDecl, simply propagate the classMinimalDef
from the class we are vectorising. Simpler and more direct.
Comments only
Look inside tuple predicates when checking instance declaration contexts

This fixes Trac #8359
Improve error reporting of fundep coverage condition failure

This modest improvement is motivated by Trac #8356
Improve pretty-printing of types

* The main change is to suppress printing (in types) of
     kind for-alls
     kind applications
  The new flag -fprint-explicit-kinds prints them as before
  (by analogy with the existing -fprint-explicit-foralls)

* I also took advantage of the fact that SDoc now has access
  to DynFlags, to tidy up the way in which explicit for-alls
  are printed.  Instead of passing a boolean flag around, we
  now simply consult the DynFlags.  Much neater.

I still need to add documentation for the flag