Working towards allowing multiple Maildir prefixes.

  This commit gives us the ability to get/set a table against
 a string-variable.

  This updates #202.

  The next step is to make the use of the `maildir_prefix` primitive
 use the multi-version of the multi-variable storing code, if it is given
 a table.

  (Or just do that globally, even if there is one member.  But that
 will require documentation changes, so it is probably best avoided.)
  Updated to use mult-variables for maildir_prefix.

  This updates #202, but I suspect it won't work.
  Revert.  This is a mistake.

  The idea of variables containing either strings or vectors/arrays
 is a good one, but this implementation is problematic because
 we can't differentiate things clearly.

  Consider the case of:

        maildir_prefix( { "foo", "bar", "baz" } );

  This is setting the value of the variable 'maildir_prefix' to an
 array.  Well and good.

  Now consider retrieving the value:

        x = maildir_prefix()

  You can't tell which value-type to return ("table" v.s. "string")
 short of looking up both and returning the first non-empty one.

  What you should be able to do is say "Return the value .. in table
 form", but you can only detect the expectation by seeing
"lua_istable(L,-1)" - which isnt' set on the accessor-case.

  Updates #202.

  For the moment we'll sidestep the issue :

        maildir_prefix( "/path/to/maildir|/path/to/maildir2|..." );

  That is ugly, but will be consistent, easy to debug, and tolerable.
  Updated to move utility methods into a class.

  This allows them to be used from more than one compilation-unit.
  Allow multiple Maildir prefixes.

  This commit updates the internal variable "maildir_prefix" to
 be a pipe-deliminated string:

    maildir_prefix( "/home/skx/Maildir|/home/skx/Imported-Mail" );

  This closes #202.
  Allow the hiding of inline-attachments.