Made some fixes to chunk/sample lookup logic based on testing

Single-entry IsoSampleToChunkBox entries weren't being handled correctly.
 chunk_for_sample() and sample_to_chunk() need to treat a single-entry
 table as being a single-chunk (this isn't well described by the spec but
 it has to be this way based on example content).

IsoChunkOffsetBox.chunk_for_offset() wasn't properly calculating the chunk
 index when the chunk was the last/only one in the ChunkOffsetBox.

Tested with single-chunk tracks (data tracks).
Tested with audio/video tracks to ensure they were returning the same results
 as the previous rev.