in operator fails always returning False with pd.Timestamp
#### Code Sample, a copy-pastable example if possible
```
>>> date = pd.Timestamp('2018-05-31')
>>> date
Timestamp('2018-05-31 00:00:00')
>>> mo.universe.datadate.loc[5724]
Timestamp('2018-05-31 00:00:00')
>>> type(mo.universe.datadate.loc[5724])
<class 'pandas._libs.tslibs.timestamps.Timestamp'>
>>> type(date)
<class 'pandas._libs.tslibs.timestamps.Timestamp'>
>>> date in mo.universe['datadate']
False
>>> date in mo.universe['datadate'].values
False
>>> mo.universe['datadate']
0      1985-12-31
1      1985-12-31
2      1985-12-31
3      1985-12-31
4      1985-12-31
5      1985-12-31
6      1985-12-31
7      1985-12-31
8      1985-12-31
9      1985-12-31
10     1985-12-31
11     1985-12-31
12     1985-12-31
13     1985-12-31
14     1986-03-31
15     1986-03-31
16     1986-03-31
17     1986-03-31
18     1986-03-31
19     1986-03-31
20     1986-03-31
21     1986-03-31
22     1986-03-31
23     1986-03-31
24     1986-03-31
25     1986-03-31
26     1986-03-31
27     1986-03-31
28     1986-03-31
29     1986-06-30
          ...    
5695   2018-04-30
5696   2018-04-30
5697   2018-04-30
5698   2018-04-30
5699   2018-04-30
5700   2018-04-30
5701   2018-04-30
5702   2018-04-30
5703   2018-04-30
5704   2018-04-30
5705   2018-04-30
5706   2018-04-30
5707   2018-04-30
5708   2018-04-30
5709   2018-04-30
5710   2018-05-31
5711   2018-05-31
5712   2018-05-31
5713   2018-05-31
5714   2018-05-31
5715   2018-05-31
5716   2018-05-31
5717   2018-05-31
5718   2018-05-31
5719   2018-05-31
5720   2018-05-31
5721   2018-05-31
5722   2018-05-31
5723   2018-05-31
5724   2018-05-31
Name: datadate, Length: 5725, dtype: datetime64[ns]
```
#### Problem description

Python's native `in` operator is always returning False when checking to see if a pd.Timestamp is in a Series of timestamps. Clearly 2018-05-31 exists in the series. Both the date I'm checking and the value in the Series is should match with are of type `<class'pandas._libs.tslibs.timestamps.Timestamp'>`

Not sure if this is a type issue, but I've spend a ton of time trying to get things to agree and nothing's worked, so perhaps there's a bug here. 

Curiously `date in mo.universe['datadate'].tolist()` returns `True`, and I don't know how that makes sense. I really would rather not have to deal with the overhead of turning the series to a list every time I want to check if a date exists in it, since my program does that _a lot_ and it totally goes against the beauty of using pandas in the first place. 

Thanks much for any help in advance              -- Ethan 

#### Expected Output

```
>>> date in mo.universe['datadate']
True
```

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

<details>

[paste the output of ``pd.show_versions()`` here below this line]
pd.show_versions()
Matplotlib support failed
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Linux
OS-release: 3.10.0-862.3.2.el7.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
pandas: 0.23.1
pytest: 3.2.1
pip: 9.0.1
setuptools: 36.4.0
Cython: 0.26
numpy: 1.14.3
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: 6.1.0
sphinx: 1.6.3
patsy: 0.4.1
dateutil: 2.6.1
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.4.3
numexpr: 2.6.5
feather: None
matplotlib: 2.2.2
openpyxl: 2.4.8
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 0.9.8
lxml: None
bs4: 4.6.0
html5lib: 0.9999999
sqlalchemy: 1.1.13
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
