Fix read/write pointer bug in concat filter.
Fix read/write pointer bug in concat filter.

Consider a user having called fz_read_byte() up to and including
a whitespace padding byte between two concatenated streams.

At this point the concat filter will internally have its read pointer
pointing to the byte after the dummy padding byte, and its write pointer
pointing to the next byte after that. This indicates that there is
_still_ at least another byte remaining in the filter.

If a user at this point calls fz_available(), it will return 1 because
that is the difference between the write and read pointers. If the caller
then calls fz_read_byte() again it will derefernce the read pointer,
which points outside of the padding buffer.

This commit sets the read and write pointers to both point to the
byte in the filter immediately after the padding byte. Therebye indicating
that the internal buffer has no more data to provide. This causes
fz_available() under the circumstances above to call next_concat()
and then fill the concat filter buffer with data from the next
concatenated filter. The same happens if fz_read_byte() is called.

Coverity CID 77027 prompted a review of the next_concat() code.

sebras/mupdf,TamirEvan/mupdf,sebras/mupdf,ccxvii/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ccxvii/mupdf,sebras/mupdf,ccxvii/mupdf,fluks/mupdf-x11-bookmarks,sebras/mupdf,fluks/mupdf-x11-bookmarks,ArtifexSoftware/mupdf,fluks/mupdf-x11-bookmarks,TamirEvan/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ccxvii/mupdf,sebras/mupdf,ccxvii/mupdf,TamirEvan/mupdf,TamirEvan/mupdf,sebras/mupdf,fluks/mupdf-x11-bookmarks,ArtifexSoftware/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,fluks/mupdf-x11-bookmarks,fluks/mupdf-x11-bookmarks,TamirEvan/mupdf,TamirEvan/mupdf,ccxvii/mupdf,fluks/mupdf-x11-bookmarks