calcs/risk/general, db/models:

Don't try to get the hazard calculation (associated with a risk
calculation) if there is none. And definitely don't try to do stuff with it if
it is none.
calcs/risk:

Move the hazard curve/vulnerability model IMT validity check to `pre_execute`
in the classical risk calculator.
calcs/risk/classical/core:

Handle SA(...) IMT types when validating the hazard output/vuln model.
tests/calcs/risk/general_test:

Removed a unnecessary test.
tests/calcs/risk/classical/core_test:

Added a couple of pre_execute test cases (to exercise the IMT validation).
tests/data/end-to-end-hazard-risk:

Changed the IMT (for hazard and risk) from PGA to SA(0.1).

This is a better test sample.
test/calcs/risk/classical/core_test:

Updated `pre_execute` tests to use the correct IMTs, which gives a more rich
tests and exercises the special handling for the case of an SA IMT.