Merge pull request #1228 from larsbutler/geojson-hazmap-export

Hazard map GeoJSON export

[r=matley] [f=1199654]
engine:

Refactored `run_hazard` and moved it to `engine` from `bin/openquake`.
bin/openquake:

Removed `run_hazard` function, and use instead the equivalent function
in `engine`.
bin/openquake:

Some list/print functions have moved to `engine`.
tests:

Updated tests to use the new `engine.create_hazard_calculation`
interface. (Instead of taking a OqUser object, we need to just pass the
username.)
engine:

Docstring cleanup.
engine:

Moved `run_risk` and `list_risk_outputs` to `engine` from bin/openquake
bin/openquake:

Removed unused import.
bin/openquake:

Moved `run_risk` and `list_risk_outputs` to `engine`.
engine:

Added missing parameter doc to `haz_job_from_file`.
engine:

Refactored and simplified `run_risk`.
engine:

Factored the db query out of `list_risk_outputs` to a separate
function.
engine:

PEP8 cleanup
engine:

Moved an assert from `run_risk` to `risk_job_from_file`.
engine:

Added `get_hazard_calculations` and `get_risk_calculations` query
functions.
bin/openquake:

Moved some DB queries to the `engine` module.
bin/openquake:

PEP8 cleanup
tests/utils/helpers:

Added `MultiMock` class to help handle multiple mock objects.
tests/engine_test:

Added tests for `engine.run_risk` and `engine.run_hazard`.