setNewRun() and setNewLumi() should work always

The classes ProducerSourceBase and ProducerSourceFiles provide a setNewRun call and a setNewLumi call
for input sources derived from these classes to indicate a new run or lumi.  However, these calls do not work if called from setRunAndLumiInfo(), unless the run or lumi number changed, in which case the call is not needed.
This pull request ensures that a call to setNewRun() or setNewLumi() will cause a new run or new lumi transition.
This fix is needed by LHESource to process LHE input files with different headers in the same job.
This pull request needs normal testing and signature requirements.