Return the date that is the specified numMonths from the specified original date, adjusted as necessary according to the following (non-end-of-month) rule: if the day of the month in original does not exist in the month of the result (e.g., February 29, 2001), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numMonths may be negative.