Prepare release 0.3.4
Update author's e-mail address
Stop using GNU Automake's maintainer mode

Since upgrading my development system to Debian 7 (thus upgrading auto-
make to 1.11), GNU Automake's maintainer mode became a constant source
of incomplete builds. Consequently, we just stop using it (it had been
deprecated anyway).

Closes: #27
Remove trailing whitespace in libdl.3sh
Strip comments in lib{emit,safe}.sh
Make special character definitions read-only

Libquote's special character definitions mustn't be reassigned.
Consequently, they're made read-only.

Closes: #28
Use here scripts for non-bash(1) shell quoting

Feed sed(1) from here scripts instead of pipes. This should speed up
quoting for non-bash(1) shells.

Closes: #29
Make undo_{init,push}() reject stack marks
Swap undo_drop() and undo_pull()
Add undo_mark()

This new function actually pushes marks onto the undo stack.
Add 'stack manipulation workhorse' undo_emit()

So far, undo stack manipulations were done directly by undo_pull() and
undo_drop(). To avoid code repetition, they'll be done by undo_emit().

The new function offers two basic MODEs of operation: drop and keep. In
  - drop mode, undo_emit() picks the undo stack contents that would
    result from dropping the selected commands, whereas in
  - keep mode, undo_emit() picks the undo stack contents that would
    result from keeping the selected commands.

Command selection is done by
(1) MARK only (MARKed range, i.e. from top down to and including the
    first occurence of stack MARK),
(2) MARK and TAG (TAGged commands within MARKed range),
(3) TAG only (all TAGged commands, as before), or
(4) COUNT (the top COUNT commands, as before).
Use undo_emit() in undo_pull()
Use undo_emit() in undo_drop()
Use undo_emit() in undo_exit()
Add undo_keep()

The introduction of stack marks necessitates undo_keep(), the counter-
part to undo_drop(), especially to keep TAGged undo within a MARKed
range. This patch completes libundo's stack mark feature.

Closes: #30