added binary encoding and decoding for multiple macaroons

Also please check the round trip - if we marshalBinary the macaroons again, we should end up with identical data to b.