Add stg_sel_n_noupd_info symbols to Linker.c
Add comments to describe AbsBinds
Tiny wibble to trace message
Comments only
When zonking, get rid of empty implications

Zonking can make implications empty becuase it gets rid
of type-function flattening equalities
Never unify a SigTyVar with a non-tyvar type (fixes Trac #7786)

This unwanted unification was happening in the zonking phase
which un-flattens type-function applications (TcMType.zonkFlats,
try_zonk_fun_eq).  The main unifier is careful to make the check,
but I'd forgotten it here.  That in turn led to a very confusing
error message.
Further wibbbling to type error message reporting

* We now never report derived-constraint type errors, even
  in the "insolubles".  See Note [Insoluble derived constraints]
  in TcRnTypes.

* The cec_suppress mechanism in TcErrors is refactored a bit so that:
   - We suppress *all* errors in unreachable code (they can be jolly
     confusing)
   - We no longer suppress *all* non-insoluble errors if there are *any
     insolubles anywhere.  Instead we are a bit more refined.
  See Note [Suppressing error messages] in TcErrors