BUG: Raise TypeError only if key DataFrame is not empty #10126
Proposed fix for #10126

change this to close issue #10126 instead
 @jreback Requested changes made and squashed, changed title to reference #10126
 Using `is_bool_dtype` results in a couple of extra test failures- investigating.

``` python
======================================================================
FAIL: test_setitem_boolean (pandas.tests.test_frame.TestDataFrame)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\dev\code\opensource\pandas-rekcahpassyla\pandas\tests\test_frame.py", line 621, in test_setitem_boolean
    df[df * 0] = 2
  File "c:\dev\code\opensource\pandas-rekcahpassyla\pandas\util\testing.py", line 1640, in __exit__
    raise AssertionError("{0} not raised.".format(name))
AssertionError: TypeError not raised.

======================================================================
FAIL: test_frame_getitem_setitem_boolean (pandas.tests.test_multilevel.TestMultiLevel)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\dev\code\opensource\pandas-rekcahpassyla\pandas\tests\test_multilevel.py", line 354, in test_frame_getitem_setitem_boolean
    df[df * 0] = 2
  File "c:\dev\code\opensource\pandas-rekcahpassyla\pandas\util\testing.py", line 1640, in __exit__
    raise AssertionError("{0} not raised.".format(name))
AssertionError: TypeError not raised.
```
 Fixed my obvious silly mistake. (Doh)
 ok, looks good. pls add a release mentioning the original issue.
 Rebased and added release note to 0.16.2, in the bug fix section. 
 thanks!
 Thank you! 
 Since this is merged in master, all travis builds seem to fail (although the tests for the PR itself were green):

```
FAIL: test_sum (pandas.tests.test_series.TestSeries)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/pydata/pandas/pandas/tests/test_series.py", line 2319, in test_sum
    self._check_stat_op('sum', np.sum)
  File "/home/travis/build/pydata/pandas/pandas/tests/test_series.py", line 2683, in _check_stat_op
    testit()
  File "/home/travis/build/pydata/pandas/pandas/tests/test_series.py", line 2656, in testit
    self.assertTrue(np.isnan(f(allna)))
AssertionError: False is not true
```
 Ah, caused by bottleneck upgrade: #10270
