Fix parsing of meridiem in locales that have meridiem

There were many locales that supported meridiem output, but did not support
parsing (meridiemParse and isPM locale keys). Also some locales can not be
parsed with a simple isPM function, because the variants are not different
around noon.

A new isPM function (with new name -- fixPM) is needed that also takes an hour
and returns whether you should add 12 hours or not.