BUG: Accept Generic Array-Like for .where
Setup:
~~~python
>>> s = Series([1, 2, 3])
>>> cond = [False, True, True]
~~~
Before:
~~~python
>>> s.where(cond)
...
ValueError: where requires an ndarray like object for its condition
~~~
After:
~~~python
>>> s.where(cond)
0    NaN
1    2.0
2    3.0
dtype: float64
~~~

Note that `Index` objects can accept array-like objects as conditionals, and I wrote tests to confirm.