PICARD-630: linear_combination_of_weights() raises exception

It happens when the function is called with empty parts list.
Returns 0.0 instead of raising ZeroDivisionError exception
Merge pull request #355 from zas/linear_combination_of_weights

PICARD-630: linear_combination_of_weights() raises ZeroDivisionError