Adding slice() to ItRange

to make more code cleaner.
plx::HuffmanCodec takes plx::Ranges

So we don't end up doing silly copies of std vectors in the gzip code.

The previous 3 changes are needed for this part as well.