Modify the Unmarshal functions in codename to copy data
This modifies the unmarshal codename functions to copy data appropriately, and it also validates the data using the ecdh library. It does it by making sure the FromBytes inside ecdh performs the copy.