Fix the bug DS-1780

The batch import would go into an infinite loop when loading from a
pubmed, arxiv or crossref XML file. This was due to the fact that the
respective data loaders open the file each time getRecords() is called
coupled with the complicated logic of TransformationEngine.

The bug was fixed by checking if offset is greater than zero in
getRecords(DataLoadingSpec) (which is equivalent to the condition that
the file has already been read) and if so the method returns an empty
RecordSet signaling the TransformationEngine that the input has ended.