refactoring: clearer parameter name
quakeml deserialization: avoid working on parent elements

instead explicitely work on target element to be extracted, before
`Unpickler._extra()` was inadvertantly picking up extra tags of parent
elements.
quakeml output: make custom namespace abbreviations possible
quakeml namespaces: refactoring and minor changes

- during deserialization: add namespace map as attribute to catalog
  object
- during serialization: use namespace map attached to catalog (if any)
- during serialization: add `nsmap` option to `writeQuakeML()` for
  control over namespace abbreviations during QuakeML output
- for extra attributes/tags: don't allow use of namespace abbreviations
  any more; this is redundant now and can be handled with above option
  to `Catalog.write(..., nsmap={...})`
- adapt documentation in Tutorial