Implementation of IsoChunkOffsetBox.remove_chunks_before() and IsoSampleToChunkBox.remove_sample_refs_before()

IsoChunkOffsetBox.remove_chunks_before() simply shifts down the elements in
 the offset array such that the given chunk reference is the first chunk
 in the list.

IsoSampleToChunkBox.remove_sample_refs_before() handles removing sample
 references from the SampleToChunkBox. The compact form of this box's
 structure and the fact that a sample may be mid-chunk or mid-entry means
 this function must create entries in some cases and properly offset the
 entries that follow.

Tested sample removal with all tracks on non-segmented DLNA reference
 streams and verified SampleToChunkBox format by examination.