Fix notices emitted from DateFormatter
Some languages have date abbreviations that contain ".", which allows
the non-ISO regexes to match an input string containing an invalid month
name. Use preg_quote() to avoid this.
Also fix the error handling case of makeIsoMonth(). If the input date is
invalid, don't try to wrap it in a date span, since that's semantically
incorrect and may also access unset members of $bits, causing a notice.
Bug: T220563
Change-Id: Ib2b3fb315dc93b60de595d3c445637f6bcc78a1a