Switch from derive makeBinary to deriving Generic where GHC doesn't panic

Note: requires GHC HEAD due to binary==5.* requirement by GHC 7.6