Add timing of core code regions

* Time sparsity building, PETSc solve, par_loop compute, halo exchange
* Timings accessible via get_timers or printed with summary
* Add config option PYOP2_PRINT_SUMMARY to print summary at exit