In RTCEvent::update the calculation for the next event was wrong

The code is now like this:
  if ((int32_t)(now - (_lastEventTime + _period)) >= 0) {
which should do the trick.

Also in this update function we're skipping the events that are in the past
after the action has taken place (which could take up quite a bit time).