Fixed-size paged trace cache
Instead of reading an entire set of inlines at a time, read traces in groups of fixed-size "pages". Introduce a trace data manager used by the processing loop and findFirstTrace in order to keep the cache implementation details out of the higher level code.
In my test setup (local Minio) this implementation gives about the same performance as the original implementation. The usefulness of this implementation may not be realized unless SEGYImport is used in some kind of multiprocessing scenario.