Unbreak parsing of mail address entries without per-user settings.

* After failed RE match attempts, don't blindly use $1 because it can
  contain the result of a previous match attempt.  Thus if an email
  address in "list" or "list-writers" doesn't contain user
  settings (">..."), the value of $1 is the user's mail address.  Then
  that mail address is parsed as a user setting, and bad things
  happen(tm).  (eg. user "foo-bar@example.org" can't write to the list.)

* Now that $userSet can be undefined, correct the user "max size"
  retrieval (same incorrect use of stale $1).
Unbreak "which" command when listdir != "."

* Contrary to other commands, "which" assumed that the lists were under "."
  Use $conf{listdir} instead.
In subscribe(), don't assume r/w access to the list file.

* Test for open ">>" failure and provide a useful ($deny,$cause) tuple,
  instead of silently failing and sending a misleading message to the
  user.

This provides a simple way (unix perms) to have a list where anyone can
post (security none) but automatic subscriptions are restricted.
In subscribe(), handle lists with no description.

* Only append the list description to the answer mail when available
  through read_info().
Trivial warning in subscribe().

* No need to spit "undefined variable" warnings when we deal with that
  case a few lines below.