Made the GmfComputer more debuggable

While debugging the engine, it is useful to have results in a reproducible order. In particular the GmfComputer.compute method should not return a dictionary but a list of items. In this pull request I add comparison operators to both GSIM objects and IMTs: in this way the engine can order intermediate results by GSIM and IMT, which is useful for debugging. See also the companion PR on the engine.

The tests are green: https://ci.openquake.org/job/zdevel_oq-hazardlib/88