Add default signatures for Pack and CPack

So when you need (C)Pack instances for your datatypes where
(c)pack and (c)unpack are just the 'id' function, you can
write:

data MyMaybe a = MyNothing | MyJust a

instance Pack (MyMaybe a)

And you have a valid 'Pack' instance.
Add some explicit imports