API: raise a TypeError on invalid comparison ops on Series (e.g. integer/datetime) GH4968
closes #4968

Just as an FYI as to why this PR is working:
1. We have `__eq__` using `operator.eq` which will return the result of calling an object's overridden `tp_richcompare` method _or_ a `bool` (if the former lhs and rhs methods return `NotImplemented`). This is because `operator.eq` compares pointers if both the left-hand-side and right-hand-side methods return `NotImplemented`. In this case, `ndarray.__eq__` is return `NotImplemented` for both the left _and_ right hand side. Python then proceeds to compare object pointers.
2. The `wrapper` function receives a `bool` from `na_op`. `wrapper` constructs the result with the left-hand-side's index which will fill the result with a single value if it's passed
 @jtratner @cpcloud ok to merge then....?
 hold on 1 sec want to try something
 yep okay, good 2 go
