fix: correctly calculate next cycle end date for memberships that are prolonged