Risk BaseCalculator refactoring

The aim of this pull request is to move out some logic from the BaseRiskCalculator class (and its derived classes) such that it is easier to test. More precisely,

Each validation check has been moved in a proper class in the new module ```openquake.engine.calculators.risk.validation```. This allows us to test them independently without the need of setting up a risk calculation (which requires a lot of context and fixtures). Moreover, we have removed some duplicated code in the calculators.

Similarly, the output containers creation has been moved.