Implementing Marshaler and Unmarshaler interfaces for Macaroon and Caveat.

With the change to make mjson.Caveats just a []Caveat, this loop can
just be:
    m.caveats = mjson.Caveats