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
Internally it keeps track of all resource ids and associated objects. This is necessary for example in QuakeML where one can refer to some element by its id. If we would not have this association it would be really hard to get the actual referred object. In this case I guess it raises a warning because the same resource identifier is used for two event objects that are not identical.