BUG: hist raises TypeError when df contains non numeric column
`DataFrame.hist` without `by` keyword raises `TypeError` when it contains non-numeric column.

```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pandas.util.testing as tm

n=100
gender = tm.choice(['Male', 'Female'], size=n)
classroom = tm.choice(['A', 'B', 'C'], size=n)
single = tm.choice(['S'], size=n)

df = pd.DataFrame({'gender': gender,
                   'classroom': classroom,
                   'height': np.random.normal(66, 4, size=n),
                   'weight': np.random.normal(161, 32, size=n),
                   'category': np.random.randint(4, size=n)})

df.hist(by='gender')
# This works, even though 'classroom' (str) column in still contained

df.hist()
# TypeError: cannot concatenate 'str' and 'float' objects
```

@TomAugspurger ok by you?
 Merged via https://github.com/pydata/pandas/commit/fa0f78fd9989d4f68b0a52ed505a4c7a7df08f55

Thanks.
 @TomAugspurger I just uploaded mac osx wheels to PyPi. Can you try to install and see if it works?
 Tested on 2.7 and 3.3. Both of those worked.
 excellent!
 This build [failed on Travis](https://travis-ci.org/pydata/pandas/builds/26411039), but the failure seems to be unrelated. I restarted the build.
 @TomAugspurger @jreback Thanks to merge. The failure seems to be caused by unrelated part. I've created a issue #7289.
