Version bump to 0.5.3-alpha

* add null checks (should fix #117)
* more detailed DAV exceptions for error handling
* better logging (limited to 10 kB per log entry) to avoid memory problems
* DavMultiget creates requests itself (instead of WebDavResource)
Refactoring

* add overflow marker "…" to LoggingInputStream
* split the populate() methods
* always close cursors (resolves #120)
* introduce LocalStorageException and its subclass RecordNotFoundException and catch RemoteException earlier
* split synchronize() method into phases
* commit after every added/modified record (obsoletes MAX_UPDATES_BEFORE_COMMIT)
* read contact photos from (high-res) asset instead of the thumbnail blob (resolves #121)
throw RecordNotFoundExceptions only when specific records are requested
Refactoring

* Contacts/Event.toEntity() return ByteArrayOutputStream instead of String
* throw DavNoContentException instead of returning null to avoid NullPointerExceptions
* always close input/output streams
* always call consumeContent() for HTTP response entities to avoid memory leaks
Fetch resources for uploading one-by-one to save memory
Fetch remote records in chunks of max. 50 to avoid server and memory problems

* performance optimisation
* refactoring
Minor improvements

* generalise davdroid.ArrayUtils.partition; tests
* lower multi-get limit to 35
Support for SIP addresses (closes #78)

* support for SIP addresses (always exported as IMPP, imported as IMPP/X-SIP)
* version bump to 0.5.4
Minor refactoring

* update target SDK version to API level 19
* less null return values
* explicit Resource generateUID/generateName methods
* use StringUtils when it makes sense
Allow vCard4 fields (ANNIVERSARY) in vCard3, too (closes #131).
Use (final) static wherever possible for method signature clarity/performance
Bug fixes

* optimise URL repairs: don't replace "[", "]", ":" in host names, allowing IP address literals (closes #98)
* SyncManager: minor refactoring
Commit after every full record insertion/update (closes #135)

Docs say that TransactionTooLargeException is thrown when the buffer reaches 1 MB. Because we can't know
how large a single insertion/update is and there may be contacts with larger photos, it's only safe to
commit after every insertion/update. If photos exceed ~ 900 kB it would be required to write the photos
to an asset file (maybe I'll do this later, then we can group insertions/updates again).
Version bump to 0.5.5-alpha
0.5.6α Wage Slave

* support primary (preferred) phone numbers/email addresses
* fix (crash) bug in URI sanitation
* don't set calendar properties not supported by device's Android version
* require already-set remote file name when finding updated records
* version bump to 0.5.6α
merge+some bugfixing, more bugfixing needed