GHCi support for levity-polymorphic join points
Fixes Trac #16509.
See Note [Levity-polymorphic join points] in ByteCodeGen,
which tells the full story.
This commit also adds some comments and cleans some code
in the byte-code generator, as I was exploring around trying
to understand it.
test case: ghci/scripts/T16509
(cherry picked from commit 392210bf8a27b3604f8642d76c39e391c2d4b5e0)