Compress may return less than target bytes

Revised "compress" so that it does not zero-pad in the case that there
are less than the target number of bytes provided. Instead it simply
returns the bytes back.