maildir: Keep trailing comma even when no flags are set

Without this, `mk_info_filename' generates filenames of the following
form when the flag set is empty:

    1402217787.M664911P5957Q143.hostname:2

The original Maildir spec (http://cr.yp.to/proto/maildir.html),
however, mandates that filenames must be of the form `uniq:info', with
`info' starting with "2,"--including a comma.

This patch removes the "cleanup" performed by `mk_info_filename' as
that there is no rationale for it in mailutils' source code history,
and as it breaks Gnus' "nnmaildir" backend (Cf.  `nnmaildir--add-flag').

* libproto/maildir/mbox.c (mk_info_filename): Keep comma at the end of
filename when the flags suffix is empty.
New filter: htmlent

* include/mailutils/filter.h (mu_htmlent_filter): New extern.
* libmailutils/filter/Makefile.am: Add htmlent.c
* libmailutils/filter/filter.c (mu_filter_get_list): Register mu_htmlent_filter.
* libmailutils/filter/htmlent.c: New file.
* libmailutils/tests/htmlent.at: New testcase.
* libmailutils/tests/Makefile.am: Add new testcase.
* libmailutils/tests/testsuite.at: Likewise.
Implement the xml filter.

* libmailutils/filter/xml.c: New file.
* include/mailutils/filter.h (mu_xml_filter): New extern.
* libmailutils/filter/Makefile.am (libfilter_la_SOURCES): Add xml.c
* libmailutils/filter/filter.c (mu_filter_get_list): Register mu_xml_filter.

* libmailutils/tests/xml.at: New file.
* libmailutils/tests/Makefile.am: Add xml.at
* libmailutils/tests/testsuite.at: Likewise.
Fix memory overrun in iconv filter.

* libmailutils/filter/iconvflt.c (format_octal): New function.
(_icvt_decoder): Fix size calculations before returning mu_filter_moreoutput.
Use format_octal instead of sprintf to avoid memory overwrite with the
terminating nul characteter.
New example: mboxidx

* examples/mboxidx.c: New file
* examples/Makefile.am: Add mboxidx
Push missing files.
Bugfix.

* libmailutils/filter/iconvflt.c: Fix silly errors.
Bugfixes.

* examples/echosrv.c: Fix typo.
* libmailutils/sockaddr/url.c: Likewise.
* mh/mhn.c: Likewise.
* mh/folder.c (roll_back): Fix conditional.
* THANKS: Update.
Move gnulib into a subdir.

* bootstrap.conf: Create and populate lib/gnu, if necessary.
* configure.ac (MU_APP_COMMON_INCLUDES): Update.
(AC_CONFIG_FILES): Build lib/gnu/Makefile
* lib/Makefile.am (libmuaux_a_SOURCES): Add all objects from gnu/
* po/POTFILES.in: Update.

* examples/.gitignore: Update.
Add scripting capability to mh/inc.

This patch adds a convenience library libmuscript that provides scripting
capability easy to use in MU applications. Currently used by maidag and
inc.

* include/mailutils/util.h (mu_stpcpy): 2nd arg is const.
* libmailutils/string/stpcpy.c: Likewise.

* lib/.gitignore: Update.
* lib/Makefile.am: New library libmuscript.a
* lib/muscript.h: New file.
* lib/muscript_priv.h: New file.
* lib/script.c: New file.
* maidag/guile.c: Rename to ...
* lib/guile.c: ... this
* maidag/python.c: Rename to ...
* lib/python.c: ... this
* maidag/sieve.c: Rename to ...
* lib/sieve.c: ... this

* maidag/Makefile.am (maidag_LDADD): Add libmuscript.a
(maidag_SOURCES): Update.
* maidag/maidag.c (script_handler): Change type to mu_script_t.
* maidag/maidag.h: Include muscript.h
* maidag/script.c: Rewrite via libmuscript

* mh/Makefile.am (inc_LDADD): New variable.
* mh/inc.c (options): New options --language and --script.
(mh_option): New options -language and -script.
(incdat) <handler,descr>: New members.
(incmbx): Optionally process each message through a script. If it is
marked as deleted upon return, don't incorporate it.
(main): Set mh as the default mailbox scheme.
Initialize scripting subsystem and deallocate it when finished.
* mh/mh_getopt.h (ARG_LANG, ARG_SCRIPT): New constants.