Implementing Marshaler and Unmarshaler interfaces for Macaroon and Caveat.

ditto