Added support for open range (no or invalid end time)

IsoSampleTableBox.get_access_points_for_range() will now set the end sample
 number to 0 if the end time doesn't resolve to a sample, the time_offset
 to the time offset of the last sample, and the byte_offset to the byte
 just past the last sample. last_byte_offset() was added to perform the
 byte calculation.

Some other small fixups.

Start+end trimming with O-AVCMP4_BC15A-02.MP4 seems to be working well.
 But start+end trimming B-AVC_MP4_MP_SD-03.MP4 is problematic. Will continue
 investigating.