Getting a more uniform distribution of the tasks

In https://github.com/gem/oq-engine/pull/1357 we introduced the concept of "source weight" (see https://bugs.launchpad.net/oq-engine/+bug/1271561). Tasks should have homogeneous weight, i.e. a task may contain a lot of light sources or a few heavy sources. After some analysis I discovered that the simple rule weight = number of ruptures is appropriated for point sources but not for are other source typologies. One must give a bigger weight, it must be more than linear in the number of ruptures, otherwise too many big sources will be collected in a single task. While a correct assessment of the weight would require a more serious analysis, this PR adopt the following heuristic rules:

1. for point sources weight = num_ruptures
2. for other sources weight = num_ruptures ** 1.5

In the case of the USA calculation the adoption of these rules reduces the total runtime from 8.5 hours to 1 hour. Good enough. Other experiments (for instance giving a quadratic weight to non-point-sources) gave worse results, because in that case too many light sources get collected in a single task.

This PR also adds more logging, so that an analysis of the computation time vs number of ruptures can be performed later on. Here are the results for the USA computation on gemsun04 (number of sources and computation times per rupture):

   CharacteristicFaultSource(1600): 0.0644495947727±0.282401967451
   ComplexFaultSource(32): 0.381681723107±0.22062050528
   PointSource(55718): 0.00810436613678±0.00313950348673
   SimpleFaultSource(7468): 0.0289170000847±0.0241915180254