Changes to ghc

Changes to ghc:
commit 9d643cf6f2928c6e87ef6ae55fff001a0bf4c26b
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Wed Nov 27 14:21:39 2013 +0000

    Roleify TcCoercion

    Previously, TcCoercion were only used to represent boxed Nominal
    coercions. In order to also talk about boxed Representational coercions
    in the type checker, we add Roles to TcCoercion. Again, we closely
    mirror Coercion.

    The roles are verified by a few assertions, and at the latest after
    conversion to Coercion. I have put my trust in the comprehensiveness of
    the testsuite here, but any role error after desugaring popping up now
    might be caused by this refactoring.