added binary encoding and decoding for multiple macaroons

Let's rename this to MacaroonSlice.

    // MacaroonSlice defines a collection of macaroons. By convention, the
    // first macaroon in the slice is a primary macaroon and the rest are discharges
    // for its third party caveats.