Some trivial optimizations in Risk Event Based calculator

1) Execute event loss tables insert query in a single transaction
2) Do not fetch rupture data when no disaggregation is to be computed
3) Improve best_maximum_distance when hazard is computed at exact locations
4) Use multiple transactions instead of giant ones to improve the overall insert performance 
5) Instrumented the code to save profile data