Changes to ghc

Changes to ghc:
commit 41ba7ccb742278de0abf32cb7571c71b150997a3
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Mar 25 14:12:59 2014 +0000

    Improve the desugaring of RULE left-hand-sides (fixes Trac #8848)

    I've added detailed comments with
      Note [Decomposing the left-hand side of a RULE]

    The result is a noticeable improvement.  Previously

     * we rejected a perfectly decent SPECIALISE (Trac #8848)

     * and for something like
          f :: (Eq a) => b -> a -> a
          {-# SPECIALISE f :: b -> [Int] -> [Int] #-}
       we ended up with
          RULE  f ($fdEqList $dfEqInt) = f_spec
       whereas we wanted
          RULES forall (d:Eq [Int]). f d = f_spec