Features/decode extras

Changes the `Decoder` interface to support multiple output packs for a single input pack, and updates MultiDecoder to support this correctly. Resolves both #461 and #484.