Switch messaging marshalling to gob

Using gob removes the need to implement marshalling and unmarshalling functions for messaging structs. Since all of the fields of `Address` are exported, there is no need to even implement `GobEncode()` and `GobDecode()`. Encoding/decoding is now performed when needed by calling gob directly. 
This also makes `messaging_test.go` unnecessary.