Improve handling of PBD compression difference runs that span multiple read() calls.

I know there are a lot of commits and code changes here, but they are all related to fixing one bug in the handling of 16-bit Vaa3D PDB format files. In addition to the bug fix, there are new unit tests that were used to help fix the bug. 

I have customers who would very much appreciate seeing this fix appear in Fiji.