Okay that bug totally made up for it

And solving it felt really, really, really good.
Unfortunately I think the solution has a lot of bootleggedness to it, so
I am a little concerned about that.
But more importantly, decoded values are now what they should be, so I
know that saving, loading and decoding files is completely operational.
There's a chance the rest of Split_Blocks (and onward) could still be
buggy, of course.
Oh, I should mention what the bug itself actually was: Writing to a file
added additional characters which were then loaded, decoded, and
wrecking havoc. Kindofa huge problem.

Formal Changelog:
Compression.py:
Switched to pickling to files rather than writing to them
Aesthetic change to image quality request
Commented versions of image loading options now exist
The decoder now continues until the actual end of the string, rather
than the artificial EOF.
Given an artificial EOF, the decoder will remove them and still function
properly.
Created an "append-able string" object in order to continue to use
arraymap. Look, it's better than trying to loop through the array the
other way, okay?
Added another test sample. This sample came as a result of writing to a
file and then loading from it, in which case extra characters were
added. This mutated the sample into what you see today. Pretty gnarly,
don't you think?
Created printit() function for debugging when using map or arraymap.
(I'll likely move this into array_handler later.)
Decompression.py:
Now loads via pickle.
Removed popping the last item in the list. I'm assuming this was only
ever necessary because of the additional characters supplied by writing
to the file. I don't know for sure, sadly.
Removed manual additions of the EOF characters, as they are no longer
required for the decoder to function.
array_handler.py
Added a debugger to arraymap, which will catch errors and dump the
contents of whatever caused it before intentionally raising the error
again. It's worth noting this is designed to catch the user's attention
before allowing them to continue, to help minimize confusion. That's
also the reasoning by the large number of newline characters.

Phew, I think that's everything.