Fix when recursive events day is out of the days in the month
=============================================================
* When a recursive event is inserted, the due date will be calculated.
  However for monthly event, the same day may not be in each month, ex:
  29, 31. Thus we check the end date if out of the month, if yes, set to
  the end of the month.