Accept total_files in FileBased splitting.

Thanks Andres for clear and through explanation. (I thought crab3 uses JobCreator but apparently not).

> In a task, the input dataset files are loaded only once (I think), before doing the splitting.

This is the part I wanted to know.



> But I don't see how requiring a precondition "totalFiles < self.limit" can help.

I just meant self.limit should be bigger than totalFiles (with the exception limit = 0 which seems to get all the files), otherwise  totalFile condition will never met. 
(i.e. if all the input files are 1000 and limit is 500 and totalFile is 700, job still will created by over 1000 files not 700 files).  But since crab load all the files in one load, this wouldn't be a problem.
I will merge it.