Ignoring AM abbreviation leads to wrong processing the 12th hour.

**Bug reproducing**
```sql
SELECT
    parseDateTimeBestEffort('2020-02-01 12:10:00 AM') AS am,
    parseDateTimeBestEffort('2020-02-01 12:10:00 PM') AS pm

┌──────────────────am─┬──────────────────pm─┐
│ 2020-02-01 12:10:00 │ 2020-02-01 12:10:00 │
└─────────────────────┴─────────────────────┘
```

**Expected behavior**
```sql
┌──────────────────am─┬──────────────────pm─┐
│ 2020-02-01 00:10:00 │ 2020-02-01 12:10:00 │
└─────────────────────┴─────────────────────┘
```
#pragma once
#include <stddef.h>
#include <time.h>
#include <Core/Types.h>
class DateLUTImpl;
namespace DB
{
class ReadBuffer;
/** https://xkcd.com/1179/
  *
  * The existence of this function is an example of bad practice
  *  and contradicts our development principles.
  *
  * This function will recognize the following patterns:
  *
  * NNNNNNNNNN - 9..10 digits is a unix timestamp
  *
  * YYYYMMDDhhmmss - 14 numbers is always interpreted this way
  *
  * YYYYMMDD - 8 digits in a row
  * YYYY*MM*DD - or with any delimiter after first 4-digit year component and after month.
  *
  * DD/MM/YY
  * DD/MM/YYYY - when '/' separator is used, these are the only possible forms
  * Note that American style is not supported.
  *
  * hh:mm:ss - when ':' separator is used, it is always time
  * hh:mm - it can be specified without seconds
  *