Revised compress method

Excess bytes are now distributed amongst the compressed bytes, instead
of being dumped into the final byte as they were before.