Fix slice display when client entry is present, but empty.
Fix error message when deleting messages using a Horde_Cache caching backend

Bug #12827
[mms] Fix returning reply code in Exceptions.
[mms] Don't provide links to view attachments in compose screen unless the attachment can be displayed (Bug #12841).
Fix tests when running through AllTests.php
Don't encode @ either.
Fix sending iTip cancellations for recurring events.

Bug: 12746
Need to explicitly enable these, since the elt here will be the notification button.
BFN
Not used.
Tweak wording when deleting a series.
Spelling.
Don't assume that the first vEvent returned is the correct one.
Honor RECURRECNCE-ID RANGE when deleting events.
Honor the RECURRENCE-ID RANGE when deleting an event.
BFN
Kolab driver: Use default notepad in getByUid() if no notepad is given. Bug #12786.

This fixes ActiveSync support using Kolab.

The proper fix is to search across all notepads,
though I doubt that is going to happen soon.
So let's get it working at all.

Signed-off-by: Michael J Rubinsky <mrubinsk@horde.org>
Fix sync "loop" of Kolab categories <-> Horde tags sync. Fixes #12770.

Consider this scenario with a new, empty calendar:

1. User inserts the first event. The event is tagged with "foobar".
   This tag is inserted into the tagging backend.
2. User creates another event with a foreign Kolab client.
   This event is tagged "Foobar" (noticed the capital 'F')
3. kronolith syncs in the foreign event. The Kolab sync tells
   the tag backend to store the tag(s) for the new event object,
   it does a case insensitive search for an existing tag label.
   -> it picks the existing row id of "foobar".

The next time Event::synchronizeTags() runs, it notices
the tags given by the Kolab driver for the second event
differ from the tag backend ("Foobar" != "foobar")
    -> A sync is triggered.

I have a productive calendar with about 2.000 events.
The sync "loop" produces 3.6000+ INSERT / UPDATE statements
on every click.

Fix it by making the tag label comparison case insensitive.

Signed-off-by: Michael J Rubinsky <mrubinsk@horde.org>
BFN
[mms] Fix intermittent error when purging messages using a Horde_Cache caching backend (Bug #12827).