This is more complicated than the stramerDataIterator since it needs to
combine data from two sources. First it needs to find the most appropriate
streamer data for the given time, then it needs to find the closest GPS data to
that time, then it needs to combine the two.
The main iteration will actually be over GPS data, then for each GPS position
find the closest (or interpolate) streamer data, then make a new streamer data
unit that contains the gps data to return to the loacliser.