module changes/fixes:

made module instances just a (Map ByteString Head)
added mkModuleName_ which creates a module with the package set to "ermine", refactored many places to use this.
added arbitrary for ModuleName
Arbitrary instance for Module (and everything it depends on)
added Binary and Serialize instances for Module, and added prop_pack_unpack_module to properties, but it is running out of memory.
this horrible commit seems to fix the out of memory issue with Arbitrary Modules
Merge branch 'master' of github.com:ermine-language/ermine into witnesses
fixed properties/Inference.hs