upgrade_index: clearer error handling on missing cache/index files
imap/ remove some unused #includes
Makefile.am: polish ./configure --disable-server

-- always generate imap/imap_err.[ch] so that lib/command.c can be
   built, even when --disable-server is provided.
-- don't create symbolic lins in /usr/cyrus/bin for proxyd and
   mtpproxyd to imapd; and for pop3proxyd to pop3d
Execute mboxname_hiersep_toexternal() over userbuf only if userbuf isn't actually NULL, as strcspn(userbuf, '@') will cause a segmentation fault when virtual domains are not turned off, if the mailbox isn't actually a user mailbox.
Include the remote IP and Port for a Logout event, making it easier to find correlated Login and Logout events
Add the process ID to event notifications as "pid", making it yet easier to understand Login and Logout events belong together.
Bug #3757 - don't segfault on mailbox close with no user

Broke squatter and possibly other users as well.

This is probably a 2.4 only fix - the code has changed
for statuscache a bit since.

Conflicts:
	imap/statuscache_db.c
Bug#3790: make sieveshell aware of the Response Codes in RFC5804#1.3

With commit 2c352f1a8319d4474c684a07aa25488c4640c29b
     Author: Bron Gondwana <brong@opera.com>
     Date:   Tue Aug 9 22:07:48 2011 +0200

         Bug #3492 - timsieved response codes

timsieved started producing more detailed response codes, as of RFC5840,
Section 1.3. Response Codes, and sieveshell was not able to parse them.

-- Raname RPARAN to RPAREN (as it means Right PARAENthesis)
imap/mboxevent.c: add #include <unistd.h> because of getpid()

-- remove compiler warning: implicit declaration of getpid()
-- reorder headers alphabetically
Remove $Id: lines as leftovers from CVS

-- Remove all lines containing $Id: by executing
   perl -pi -e"s/^.*\\\$Id:.*\n//" `git grep -l "\$Id:"`

-- possible remove an "empty" line, surrounding the former $Id: lines

-- in ptclient/pt(expire,loader).c replace CVS version with git version.
ptclient/ptloader.c: fixup last commit #include xversion.h
configure: make mmap test error-free
cache_parserecord: make static
mailbox: don't magically rebuild the cache

This is one of many misguided "magic repair" things that I put
into Cyrus 2.4.  I've never heard of it improving matters, but
it adds unpredictable behaviour.  Generally if the cache has
failed to exist, it's because something is broken that means
building a new cache won't work either.

Throw an IO error and make the sysadmin fix things, and chances
are you won't need to rebuild the cache anyway.
mappedfile: don't assert locks, we can be used unlocked
mappedfile: export API

It's going to be used for cache files in mailbox.c, and probably many
others as well soon
mappedfile: add pwritebuf API
mappedfile: support readonly filehandle

When you only want to read from a file, it's more polite to
open it read-only, not only for the OS to optimise, but
it's a safety thing for your own code!

This patch adds a new flag to mappedfile_open
mappedfile: use struct buf internally

This is part of a general "make our components re-usable
and actually re-use them" drive!
crc32: take a const struct buf