Solved the problem with UHS

See https://bugs.launchpad.net/oq-engine/+bug/1362649. I also did some cleanup on the hazard map generation mechanism to be consistent with the rest of the code. The tests are green: https://ci.openquake.org/job/zdevel_oq-engine/635
do you check that 'poes' are always defined, because if they are not, then it is not possible to compute maps and uhs. Or is this check done inside 'hazard_curves_to_hazard_map'?