Description
Currently the code for `FileSourceScanExec` class, the physical node for the file scans is quite complex and lengthy. The class should be refactored into a trait `FileSourceScanLike` which implements basic functionality like metrics and file listing. The execution specific code can then live inside `FileSourceScanExec` which will subclass `FileSourceScanLike`.