calcs/hazard/classical/core:

Optimization: Don't bother updating `hazard_curve_progress` records when the
result matrix contains all zeros.
Fixed ordering bug in the XML export of gmf_scenario
Companion changes to https://github.com/gem/oq-risklib/pull/38
Merge pull request #1072 from larsbutler/dont-save-zeros-curves

Don't save hazard curves to the DB which are all zeros

[r=matley] [f=1096926]
use more meaningful iteration variable name
Improved the error message for unavailable gsims
db/fields:

Added NullFloatField type.
tests/db/fields_test:

Added tests for NullFloatField.
db/models:

`truncation_level` is optional, so I changed the model field type to
NullFloatField.
db/models:

WIP for fetching GMFs by location.
qa_tests/hazard/event_based/spatial_correlation:

WIP for spatial correl. QA tests.
db/models:

Added functionality to filter GMFs by location when iterating over the GMFs in
a GmfSet.
db/models_test:

Added a test for when `iter_gmfs` is called with a `location` specified.
qa_tests/hazard/e.b./spatial_correlation/_utils:

Added util functions for computing joint probability and getting all ground
motion values for a given location and job.
qa_tests/hazard/e.b./s.c./case_1/job.ini

Corrected random_seed to match the random seed in the example test script
included with the bug description.
qa_tests/hazard/e.b./s.c./case_1/test:

Case 1 is complete and all test result values match within the specified
precision parameters.
qa_tests/hazard/e.b./s.c.:

Added test cases 2 and 3.
qa_tests/hazard/e.b./s.c./case_1/test:

Corrected copyright date.
qa_tests/hazard/e.b./s.c.:

Added missing __init__.py files so that imports work and nose can find these
tests.
db/fields:

Simplified an expression.