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.
Support meridiemHour in locales

Some meridiem tokens span across noon, so there is no clear am/pm equivalent.
To properly parse such locales one needs the token AND the hour together to
produce a new hour (that might be same as hour or hour + 12). Also hour 12 has
special meaning
Add meridiemHour to locales that need it
Merge pull request #1950 from ichernev:bugfix/meridiem-in-locales

Fix parsing of meridiem in locales that have meridiem