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
`NamedTemporaryFile` should be used as a context, e.g.,
```
with NamedTemporaryFile() as f:
    # do stuff
self.assert...
```