Add a facility to read source models in commonlib

See https://bugs.launchpad.net/oq-engine/+bug/1390348.
This also fixes https://bugs.launchpad.net/oq-engine/+bug/1267424.
The tests are green: https://ci.openquake.org/job/zdevel_oq-commonlib/185
We might add a note to say that len(trt_model) is defined as len(trt_model.sources))