Inline isTrue#
Add bytecode instrs. for new GHC comparison primops

GHC 7.8 changed the type of comparison primops like (==#)
and (ltWord#).  Instead of returning a Bool, they now return an Int#
where 1 corresponds to True and 0 to False.  Since the existing
IS{GT,LT,...} instructions are used for branching, so we cannot simply
change their semantics.

This patch adds new instructions CMP{LE,GT,...} which match the
semantics of the new primops.  There are a number of remaining issues:

  - The trace recorder / JIT compiler currently does not support these
    instructions.

  - The bytecode compiler does not treat case expressions with primop
    applications in the scrutiny properly.  So, an expression:

        case x ==# y of _ { 1 -> ...; _ -> ... }

    is currently translated into

        CMPEQ t, x, y
        ISEQ t, #1 ->L
        ... etc ...

    which should really be:

        ISEQ x, y ->L