Implementing Marshaler and Unmarshaler interfaces for Macaroon and Caveat.

return fmt.Errorf("cannot decode macaroon identifier %q: %v", m.id, err)