Model run request tidy-ups

* If a model run request fails, the transaction is now rolled back for the current disease group.
* Ensure that transactions are rolled back upon any exception being thrown (by default it only happens for RuntimeExceptions).
* Remove duplicate retrieval of disease occurrences for model run request.
* Do not send disease occurrences with final weighting = 0 to the model. This includes locations with country precision (hence a clause can be removed from the getDiseaseOccurrencesForModelRunRequest named query).