Comments on virtHp, realHp (Trac #8864)

Documentation in response to Johan's questions

Plus, don't export hpRel from StgCmmHeap, StgCmmLayout
  (it is only used locally in StgCmmLayout)
A bit more tracing to do with SPECIALISE pragmas
Export runTcInteractive from TcRnDriver, and from GHC (Trac #8878)
Comments only
Add BuiltinRules for constant-folding not# and notI# (logical complement)

I don't know why these constant-folding rules were implemented for
and/or/xor but not for 'not'.

Adding them is part of the fix for Trac #8832.
(The other part is in Data.Bits.)
Test Trac #8832

The test is a bit crude; -ddump-simpl | grep '#'.

I'm concerned that the -ddump-simpl output may differ on 32 and 64-bit
platforms.  So far I've only put in output for 64-bit platforms.
Add OutputableBndr instance for OccName
pprIfaceContextArr: print a context including the "=>" arrow
pprIfaceDecl for IfacePatSyn: use pprPatSynSig
Pretty-print the following TyThings via their IfaceDecl counterpart:
 * AnId
 * ACoAxiom
 * AConLike
Improve copy/clone array primop docs

Clarify the order of the arguments. Also, remove any use of # in the
comments, which would make the rest of that comment line disappear in
the docs, due to being treated as a comment by the preprocessor.
codeGen: inline allocation optimization to clone array primops

This results in a 74% runtime decrease when cloning an array of 16
unit elements on a 64-bit machine.