Refactor CompositeRecordReader to only make a record reader when necessary

Following Raghu's comments on this PR https://github.com/kevinweil/elephant-bird/pull/398 this defers opening record readers until necesary