Restore GHC 7.6 support

There were two main problems with supporting GHC 7.6:
* Although `DataKinds` are supported, there are no closed type families, so `UnLit` is out. That means the class `Unrolling` must take an `INat` (inductive natural number) rather than a type-level literal `Nat`. The `CPP` for this is contained within `Data.Unroll`.
* GHC 7.6 doesn't consider associated type families to be members of their associated classes for import lists, so they must be imported differently.

(This pull request is just to check on Travis.)