First set of general fixes and improvements

Adds some general fixes and improvements to the toolkit:

1) Csv writer for the catalogue
2) For recurrence calculators raises warnings instead of errors when failing due to too few events or iteration instability (returning numpy nans)
3) Completeness table returns minimum magnitude in each bin instead of bin centres
4) Smoothed seismicity algorithm can support creation of the grid from the earthquake catalogue, as well as from pre-defined grid limits