Comparison with NaN should yield NaN?
I know that there has been some discussion on whether an empty series should sum to 0 or NaN, and apparently by default this now sums to 0 (because `skipna=True`) or `nan` if `skipna=False`. This is consistent with R behavior.

Today I was a bit surprised to see something that may or may not be related to the sum behavior. When you compare values in a series containing `nan`s, e.g.

```
x = pd.Series([1, 2, np.nan, 3])
x == 1
```

the result is

```
0     True
1    False
2    False
3    False
dtype: bool
```

It seems a bit odd that `nan == 1` is `False`, because if `nan` is really a missing value, the result should also be `nan`. This is also what R does:

```
x <- c(1, 2, 3, NA)
x == 1
```

which yields

```
[1]  TRUE FALSE FALSE    NA
```

This would also be possible with pandas if an extended datatype for bool that also includes missing values was used. What do you think?