rename configure.in to configure.ac

The Autoconf manual recommends the user of configure.ac as input
file for autoconf
Update requirements for Autoconf from version 2.54 to 2.68
Add AS_HELP_STRING to AC_ARG_WITH and AC_ARG_ENABLE

Instead of hard coding the output of AC_ARG_WITH/AC_ARG_ENABLE with
  AC_ARG_ENABLE(X, [  --enable-x    Turn on feature X])
use AS_HELP_STRING to take care of the formatting
  AC_ARG_ENABLE(X, (AS_HELP_STRING([--enable-x], [Turn on feature X])])
.gitignore: remove sieve/, add perl/sieve/managesieve/

It is unclear why shall the files sieve/Makefile.in, sieve/sieve.y or
sieve/sieve-lex.l stay ignored.

At the same time the generated files from perl/sieve/managesieve/ shall
be ignored.
*/Makefile.in: .c.o.: removed newline before $< for consistency
imap/Makefile.in: add .c.snmp: recipe

Add implicit rule to build lmtpstat.c and pushstats.c from lmtpstats.snmp
and pushstats.smtp
lib/mkchartable.pl move output from stderr to stdout

lib/mkchartable.pl is used to generate lib/chartable.c on stdout .  So far
it pritend status messages to stderr.  Status messages do not belong to
stderr, but to stdout.

The applied patch adds one parameter to mkchartable.pl:
  -- output / -o , specifying to which file the output shall be stored,
and  fixes Makefile.in to make use of the -o parameter.
Prepend the path in #include to .et -> .h files

When cyrus imapd is build in a directory different from the source
directory, the generated .h files (*_err.h) are in the build
directory.  To easy management of CPPFLAGS, these files are
included relative to @top_builddir@.

For the same reason, when an #include'd .h file is neither in the
current directory nor in lib/, the path to the file is prepended.

For the same reason, prepend "imap/" in #include "rfc822_header.h"
*/Makefile.in replace IMAP_COM_ERR_LIBS with COM_ERR_LIBS

As IMAP_COM_ERR_LIBS is the same as COM_ERR_LIBS, all ocurences of
IMAP_COM_ERR_LIBS were substituted with COM_ERR_LIBS

As COM_ERR_LIBS ocures de facto once per Makefile.in, it is usage was
compacted on a single line.
Move def. Makefile.in:(PACKAGE/VERSION) to configure.ac:AC_INIT

Update configure.ac to define in PACKAGE_NAME + PACKAGE_VERSION in AC_INIT
Update /Makefile.in to use PACKAGE_(NAME + VERSION) defined in AC_INIT
instead of PACKAGE in VERSION from /Makefile.in
Update configure.ac to use AC_OUTPUT and AC_CONFIG_LIBOBJ_DIR
configure.ac: replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS

Autoconf 2.68 documentation describes AC_CONFIG_HEADERS and does not
mention AC_CONFIG_HEADER
lib/Makefile.in: Reorder LIBCYR(M)_(OBJS, HDRS) alphabetically
lib/Makefile.in: expand ACL and AUTH
lib/prot.h: Add #include "config.h", remove from LIBCYR_HRDS

The file prot.h uses HAVE_SSL and HAVE_ZLIB from config.h .

Since lib/prot.h #include "config.h" it was removed from LIBCYR_HDRS,
meaning it will not be installed in /usr/include/cyrus.
remove inserting of files in both libcyrus and libcyrus_min

from LIBCYR_HDRS removes byteorder64.h, crc32.h, md5.h, util.h,
  xmalloc.h, xstrlcat.h, xstrlcpy.h
from LIBCYR_OBJS removes lock_@WITH_LOCK@.o strhash.o, util.o, xmalloc.o,
  xstrlcat.o, xstrlcpy.o @LIBOBSJ@
from LIBCYRM_HDRS removes util.h, xstrlcpy.h, xstrlcat.h
  adds exitcodes.h
from LIBCYRM_OBJS removes signals.c
  adds @LIBOBJS@, lock_@WTIH_LOCK@.o

Motivation:
currently both libcyrus.a and libcyrus_min.a include signals.o,
strhash.o, util.o, xmalloc.o, xstrlcat.o and xstrlcpy.o . master/master
is the only program, that links to libcyrus_min.a, but not to libcyrus.a .
All other programs link to both libraries.  master/master does not need
lib/signals.c, so lib/signals.c is left only in lib/libcyrus.a .  The
other duplicating *.o/*.c files are removed from lib/libcyrus.a .

For the same reason, lock_@WITH_LOCK@.o was moved to libcyrus_min.a, and
is not mentioned anymore explicitly as object for master/master.

The files from LIBCYRM_HDRS and LIBCYR_HDRS get installed to
/usr/include/cyrus, however no files containing #include "config.h" may be
installed there.  Since byteorder64.h, md5.h, util.h, xstrcat.h and
xstrcpy.h #include "config.h" they were removed from LIBCYR_HDRS /
LIBCYRM_HDRS, meaning they will not be installed in /usr/include/cyrus
anymore.

@LIBOBJS@ can contain the objects ftruncate.o, memmove.o, strcaasecmp.o and
strerror.o .  These are needed by master/master or libcyrus_min, but were
up to now included in libcyrus.
lib/Makefile.am: move strarray from libcyrus.a to libcyrus_min.a

master/Makefile.in: remove dependance on lib/lock_@WITH_LOCK@.c

lib/strarray.c is not included in libcyrus_min, but in
lib/libcyrus.a . As master/master uses lib/strarray.c and libcyrus_min,
and all other programs using libcyrus_min.a use also libcyrus.a,
strarray is moved from libcyrus.a to libcyrus_min.a and the explicit
linking with strarray.a from master/Makefile.in is removed.

The file lib/lock_@WITH_LOCK@.c is anyway included in lib/libcyrus_min.a,
master links with libcyrus_min, so it is not necessary to request linking
with lock_@WITH_LOCK@.c once again.
lib/libcyr_cfg.h: remove #include <config.h>

lib/libcyr_cfg.h does not need config.h

All files with #include "libcyr_cfg.h" have anyway #include <config.h>
before that
lib/cyrusdb_sql.c : typo: rename struct db to struct dbengine
lib/cyrusdb_twoskip.c: undef VERSION from config.h

lib/cyrusdb_twoskip.c #includes config.h and #defines VERSION.
Since config.h #defines another VERSION, there are two VERSIONs in
lib/cyrusdb_twoskip.c . This patch undefines the VERSION from config.h,
before cyrusdb_twoskip.c's own VERSION is defined.
master/cyrusMasterMIB.c: resolve double #include <config.h>