BUG: Fix boolean comparison with a DataFrame on the lhs, and a list/tuple on the rhs GH5476

closes #4576

```
In [1]: df = DataFrame(np.arange(6).reshape((3,2)))

In [2]: b = np.array([2, 2])

In [3]: b_r = np.atleast_2d([2,2])

In [4]: b_c = b_r.T

In [5]: df>b
Out[5]: 
       0      1
0  False  False
1  False   True
2   True   True

In [6]: df>b_r
Out[6]: 
       0      1
0  False  False
1  False   True
2   True   True

In [7]: df>b_c
Out[7]: 
       0      1
0  False  False
1  False   True
2   True   True

In [8]: df==b
Out[8]: 
       0      1
0  False  False
1   True  False
2  False  False

In [9]: df==b_r
Out[9]: 
       0      1
0  False  False
1   True  False
2  False  False

In [11]: df==b_c
Out[11]: 
       0      1
0  False  False
1   True  False
2  False  False
```