OBMFULL-5876 RecurrenceKind computation refactor.

Put the RecurrenceKind value in its own variable, and assigns it in a single
location. This will allow us to rely on its value in other methods more
robustly, without having to worry about the possibility that it hasn't been
assigned yet in Event.

Port of OBMFULL-4633 to next branch.
OBMFULL-5876 Moves RecurrenceKind computation to its own method.

Port of OBMFULL-4633 to next branch.
OBMFULL-5876 Handle ICS COUNT property when importing an ICS.

Port of OBMFULL-4633 to next branch.
OBMFULL-5876 Ical4jHelper returns rejected ICS too.

Instead of returning only events successfully parsed, Ical4jHelper also returns
rejects.

Port of OBMFULL-4633 to next branch.
OBMFULL-5876 Ensure invalid rules throw exceptions, add tests.

Port of OBMFULL-4633 to next branch.
OBMFULL-5876 Fix OBMFULL-2940 test.

Don't just test that a list is not null.

Port of OBMFULL-4633 to next branch.
OBMFULL-5876 Migrates to assertj.

Port of OBMFULL-4633 to next branch.
OBMFULL-3315 Synchronize DTSTART and RRULE when creating events.
OBMFULL-3315 Synchronize DTSTART and RRULE when updating events.