BUG: set() on pd.Series filled with NaNs hangs the kernel
Encountered via a column with all missing values read from a CSV that are filled by pd.csv_read as NaNs. I had logic to check for duplicate values that used set(df[col]), which I realize I can readily replace with df[col].unique(). However, found an intriguing bug, in that a lengthy list of np.NaN appears to hang the kernel... one core maxes at 100% and just sits there with the fans blasting.

This only seems to occur with NaNs... a similar list of integers or floats will chug but ultimately return.

System is a Gigabyte Aero 15 running Ubuntu 16.04
Python 3.6.1
Pandas 0.20.1
NumPy 1.13.1

Minimal reproduction
```
import pandas as pd
import numpy as np 
ser = pd.Series([np.NaN]*1000000)
set(ser)
```
I mean, this is really just an entertaining curiosity, as behavior with .unique is fine. Still intriguing, though. Any ideas?
