fix segment trace range guesses when creating data requests
The end-trace guess in TraceDataManger::addDataRequests could calculate a trace beyond the end of the input data, which would result in a crash. This change fixes that problem.
In addition, this change adds a check to see if the current segment contains any traces within the requested range, and in this case simply skip creating any data requests for the current segment. Previously a request - probably useless or redundant - would be generated in this case.