Add ZMAP write support for earthquake catalogs

More formats are likely to follow later. Let me know if you need me to make any changes.

Best
Lukas
Depending on the size of the catalog, collecting all strings in a list and joining them at the end can be much faster. Python strings are immutable so a new string has to be allocated each time `+=` is used.

I am not sure if this matters here or what ZMAP files are mostly used for but I know our other event formats are unfortunately really slow with large catalogs.