Basic support for risk calculators in commonlib

The tests are green: https://ci.openquake.org/job/zdevel_oq-commonlib/173/
Notice the companion on risklib: https://github.com/gem/oq-risklib/pull/80
We might want to have (DuplicatedPoint and DuplicatedID) or (DuplicatePoint and DuplicateID)