Fix error message for an e-mail address so bad, the parser can't even recognize as an e-mail address
Fix example (Bug #11199).
This is unnecessary when using streams.
Move language detection system checking into factory injector
Only need to check ==, not >=
Typo
Some more logging
Fix getting syncCache
Only update new synckey if we know it's not empty.
New Horde_Core_Ajax_Response framework
Fix file permissions
Imple rewrite

Main goal is to ensure that ALL imple actions are token-protected.  This
means that imple actions need to be passed through our existing
HordeCore js framework, so that we aren't duplicating code.

This also means that the separate imple endpoint has disappeared.
Instead, imple's are processed through the 'imple' AJAX action that
lives in Horde.

After refactoring this, it has become clear that imples are not
tremendously useful and are improper in about 95% of the use cases.
Right now, these are the only cases where I see imples being of value:

- autocompletion
- in-place-editing
- spellchecking

These are good uses of imples because 1) they heavily feature code
reusage of complex systems, 2) they generally attach to HTML elements
that exist on the page at creation (i.e. when the page script outputs
the initial page), and 3) they perform a single action in the handle
methods.

They are of some use in this case:

- as a click handler that performs simple javascript actions on success
  (see, e.g., image unblocking in IMP).

Almost every other use case is more appropriate for use by defining an
AJAX application handler instead.  In no case should this ever happen
with an imple:

- Empty attach method.  The whole point of an imple is to make it easy
  to attach to an existing element in the page.  If the attach method is
  not being used, you are Doing It Wrong (see, e.g., the Embed imples
  which have been removed).
- Imples that attach to an element for an action, and then have that
  action subsequently trigger other actions that are handled within the
  imple. An imple is designed to handle a SINGLE action. Additional
  actions should use the AJAX application code instead.

It is most likely that the Imples, and the above usage, is simply an
artifiact from before we had a unified AJAX framework for all
applications. Just know that moving forward an Imple will generally be
the less desirable choice - it is much cleaner to implement all
javascript into an includable file, add the necessary configuration via
a call to addInlineJsVars(), and attach the action to the HTML element
using the prototypejs .observe() method (this has the added advantage of
allowing an action to be attached to a DOM element that may not yet
exist, as opposed to imples which are restricted to elements that exist
at the time the page is outputted).
Parse error
Fix cocantenation operator.
Use array access method of accessing this property; avoid problems with illegal characters.
Use a specialized factory for ActiveSync loggers.

Since in EAS 12.1, the device id can be sent as part of the base64 enoded binary
data, we won't know it until after the request handling starts. Use a
factory for the logger so we can ensure we log all data to device specific files
if desired. Still not decided if I want device specific folders, with per-request
files or not for debugging.
If we know we don't have a username, don't even try to authenticate.
Some devices send the DevId with the OPTIONS request, some do not.

3 cheers for fragmentation...
Oops. Add missing files.
Standardize on BSD license, which looks like what was intended here.