Implementing Marshaler and Unmarshaler interfaces for Macaroon and Caveat.

// caveatJSON defines the JSON format for caveats within a macaroon.