Improved the SourceCollector

Now the sources are collected first, then filtered and split in a different method. The advantage for the engine is that it is possible to run the filtering in the task_arg_gen method, after the pre_execute phase, i.e. in parallel with the tasks. See https://bugs.launchpad.net/oq-engine/+bug/1309457 for a detailed explanation.

The tests are green: https://ci.openquake.org/job/z-devel_oq-commonlib/28