Enable debug only if ImapDebugEnabled is enabled

It would probably be better to replace ImapDebugEnabled by something like
MailDebugEnabled. But this is certainly better than always having debug output
whitespace tabkill
implement isADCompatible

add utility functions along the way
whitespace tabkill
Fix format. Avoid crash on pidfile creation error.

reported by hannes_at_erven.at
Implement ldap password change for ActiveDirectory

Also works against Samba4. Unfortunately, we don't get detailed error messages
from AD. On samba4, debug has to be turned quite high to see anything.

The LDAP connection *must* use TLS/SSL, otherwise it won't work.
See these links for details:
  http://support.microsoft.com/kb/269190
  http://msdn.microsoft.com/en-us/library/cc223248.aspx
Merge branch 'fix/ldap-password-change'
Avoid high CPU usage when all child procs are busy
len must be signed

Avoids wrapping if data doesn't contain a ':'
This avoids an out of memory exception when receiving malformed auth data
Use initWithBytes instead of initWithBytesNocopy

For some strange reason, the dest pointer gets mangled by gnustep
when the init fails with encoding:NSUTF8StringEncoding.
Use initWithBytes and free the pointer manually instead.

This avoids a double free crash when handling latin1 encoded creds
use initWithBytes to handle credentials

That behavior matches what stringByDecodingBase64 does, but this code should
probably be rewritten to use it instead on rolling its own version.
Add gitignore. No obj/ directory
Merge branch 'fix/2358'
Fix for bug #2318
Avoid double-encoding 7bit-safe folders
Fix for bug #2319
Fix for bug #2412
Added 2Do client. See #2114 for more details.
Applied huge patch (slightly modified) from David Chisnall

These fixes are for the FreeBSD/OpenBSD port.