calcs/risk:

s/parse_vulnerability_model/get_vulnerability_model/
calcs/risk/general:

Added some more validation checks to `parse_vulnerability_model`.
tests/calcs/risk/general_test:

Directly test a few invalid vulnerability model cases.
tests/data/end-to-end-hazard-risk/vulnerability_model.xml:

Fixed CoV values so that this demo doesn't crash.
calcs/risk/general:

Added a check to `parse_vulnerability_model` to display a useful error if a
vuln model specifies an IMT which is incompatible with the specified
`--hazard-output-id`.
tests/calcs/risk/general_test:

Added a test to exercise the incompatible IMTs validation check (between
hazard curves, specified as a `--hazard-output-id` and the IMTs in a vuln
model).
calcs/risk/general:

Fixed some indentation.
tests/calcs/risk/general_test:

Fixed up the `ParseVulnerabilityModelTestCase` tests to check for specific
error messages, since there many places in the function under test which
can throw the same type of exception.
calcs/risk/general:

Catch and re-raise a validation exception from RiskLib.
tests/calcs/risk/general_test:

Corrected the expected exception message in a vulnerability function
validation test.
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.
Merge pull request #1108 from larsbutler/validate-vuln-model

Vulnerability model validation

[r=matley] [f=1157072]