Remove the hazard_calculation table

This is a huge change, involving the move of several methods of HazardCalculation into commonlib.
See https://bugs.launchpad.net/oq-engine/+bug/1371639.  A companion PR https://github.com/gem/oq-commonlib/pull/40 is needed. The tests are green: https://ci.openquake.org/job/zdevel_oq-engine/698

PS: as a byproduct, https://bugs.launchpad.net/oq-engine/+bug/1267425 is fixed (i.e. intensity_measure_types
should not be specified when the intensity_measure_types_and_levels are specified, in the job.ini or from
the risk models).
Before the HazardCalculation object was used for two purposes:

1) as a container of configuration parameters
2) as a proxy to the OqJob object

In this pull request the two usages have been decoupled. When 
HazardCalculation was used as a proxy now we just use the OqJob instance.
When HazardCalculation was used as container of parameters I have done
the following change:

before:  hc = models.OqJob.objects.get(pk=job_id).hazard_calculation
now:     hc = models.oqparam(job_id)

At some moment I plan to replace all the occurrences of hc with oqparam;
however in this PR this is not done yet, because it is already huge,
and because at this stage it is better to stay close to the original
naming, to minimize the risk of mistakes.