Add Binary instances for many types
So we can use them in binary cache files. Also relax version constraints on binary to work with binary-0.5.*, which requires that we expose Distribution.Compat.Binary from Cabal. D.Compat.Binary provides the Gerics support that we need to be able to derive instances when using binary-0.5. It's useful to be able to use binary-0.5 since that's the version bundled with older ghc versions.
Showing with 134 additions and 20 deletions