calcs/risk/base:

Added a better error message for `check_imts`.
tests/calcs/risk/classical/core_test:

Updated a test (per changes in the code) so that we don't get unicode
artifacts when casting a list to a str.
Merge pull request #1185 from larsbutler/unicode-list-cast-fix

Unicode list cast fix

[r=matley] [f=*trivial]
job/validation:

Fixed a serious logic error in EventBasedRiskForm. The use of []
instead of () in this case makes a difference, and was causing the
logic to be evaluated falsely.
job/validation:

`time_event` is normalized to a string (since in the django model it is
defined as a TextField) and so will never be `None`. Instead, we can
just check for the truth of the field, which will properly handle empty
strings.
job/validation:

Factored out lon/lat validation, which is now shared by 3 different
validator functions. This reduces code duplication and improves code
coverage.
job/validation:

Added missing `time_event_is_valid` function.
tests/job/validation_test:

Renamed a test case.
tests/job/validation_test:

Added an expected error check to EventBasedRiskValidationTestCase.
I also modified the test inputs to be more complete and improve
coverage.
tests/job/validation_test:

Added basic test_invalid_form for Scenario Risk.
job/validation:

Corrected some logic in `loss_curve_resolution_is_valid`.
job/validation:

Allow loss curve res of >= 1.
tests/job/validation_test:

Updated `loss_curve_resolution` test value and expected error message.
Merge pull request #1186 from larsbutler/time-event-validation-fix

Time event validation fix

[r=matley] [f=1181235]
Addressed some of the points raised in https://github.com/gem/oq-engine/pull/1182
Merge pull request #1182 from gem/purge-gmf-tables

Purge gmf table
Merged from master