Allow user to give a runRange even without a lumiMask.

So far the run range was only used in combination with a lumi mask to filter runs in the lumi mask. This patch allows the user to specify a run range without a lumi mask, in which case a LumiList object is created passing a list with all runs in the range. The only odd thing here is that we will put in the TaskDB this eventually long list of runs. I added a check for the length of the runs list to be at most 50000; if the run list is longer than 50000, I raise ConfigurationException with message "Data.runRange includes X runs. When Data.lumiMask is not specified, Data.runRange can not include more than 50000 runs.". Talking with Marco, I asked him if we could allow the TaskDB to accept run ranges (a range would of course mean all runs in that range) and in that case the one-to-one correspondence between the runs and lumis lists that is assumed allover, would mean that all runs in that range should use the same lumis (keep in mind that the use case here is that the lumis are the interval '1,0xFFFFFFF', because no lumi mask was specified).
I have tested this patch in preprod with my own client, submitting 3 tasks using the tutorial example where we analyze the DATA dataset. 
1) http://glidemon.web.cern.ch/glidemon/jobs.php?taskid=370665
2) http://glidemon.web.cern.ch/glidemon/jobs.php?taskid=370664
3) http://glidemon.web.cern.ch/glidemon/jobs.php?taskid=370666
The first two tasks include both a lumi-mask (the first task passing the lumi-mask as a file, the second as URL -or vice versa-) and the run range, and the third task passing only the run range. The first two task produce 17 jobs, while the third produces 23 jobs, which is reasonable (it should produce more jobs because in this case all physical runs and lumis in the run range and in the input dataset are analyzed.)
This patch solves issue #4174.