BUG: Timestamp array comparison may raise RecursionError
#### Code Sample, a copy-pastable example if possible

```python
import numpy as np
import pandas as pd

n1 = np.array([pd.Timestamp('2011-01-01 00:00:00'),
               pd.Timestamp('2011-01-03 00:00:00-0500', tz='US/Eastern')], dtype=object)

pd.Timestamp('2011-01-03 00:00:00-0500', tz='US/Eastern') == n1 
# RecursionError: maximum recursion depth exceeded
```
#### Problem description

Related to #12780. This issue causes datetime-like `.replace` to raise ``SystemError``. Recursion is caused by this line:

https://github.com/pandas-dev/pandas/blob/master/pandas/tslib.pyx#L1040

#### Expected Output

raises ``TypeError``.

#### Output of ``pd.show_versions()``

<details>
# Paste the output here pd.show_versions() here

</details>
