Default COFFEE configuration to GNU compiler / SSE ISA
Add context manager for timing a given code region
Profiling: add a Timer.reset method
Profiling: add timing method to get average time for task
Rename profile decorator to timed_function
Add timed region around sparsity building
Add timed region around PETSc KSP solve
Time ParLoop compute, halo exchange, reduction
Add configuration option to print summary at exit

Either set the print_summary configuration option or export
PYOP2_PRINT_SUMMARY
Profiling: get_timers can optionally reset all timers
Only add timer to global dict once it has been started
Wrap timed regions in try/finally
Make Timer.stop and toc return elapsed time
Merge pull request #376 from OP2/timers

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