Reimplemented splitDataBlocks (partially)
Moved the packing code to a separate function and implemented splitDataBlocks
LZW_Compress uses and explicit size rather than a null terminator
Changed the API and modified the main to reflect the new API