SingI has been dropped from GHC 7.8

The new TypeLits module no longer defines `SingI`, it's been replaced by `KnownNat` and `KnownSym`. I'm not a big fan of CPP hacks but I imagine it's better to continue supporting 7.6 for a while.