``idxmax()`` fails for string type
While it's possible to find the `max` of a Series containing strings, it's not possible to find the `idxmax`:

```
>>> s = pd.Series(list('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
>>> s.max()
'Z'

>>> s.idxmax()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-292-28e0d79e56be> in <module>()
----> 1 s.idxmax()

/Users/jakevdp/anaconda/envs/python3.4/lib/python3.4/site-packages/pandas/core/series.py in idxmax(self, axis, out, skipna)
   1218         numpy.ndarray.argmax
   1219         """
-> 1220         i = nanops.nanargmax(_values_from_object(self), skipna=skipna)
   1221         if i == -1:
   1222             return np.nan

/Users/jakevdp/anaconda/envs/python3.4/lib/python3.4/site-packages/pandas/core/nanops.py in nanargmax(values, axis, skipna)
    492     """
    493     values, mask, dtype, _ = _get_values(values, skipna, fill_value_typ='-inf',
--> 494                                          isfinite=True)
    495     result = values.argmax(axis)
    496     result = _maybe_arg_null_out(result, axis, mask, skipna)

/Users/jakevdp/anaconda/envs/python3.4/lib/python3.4/site-packages/pandas/core/nanops.py in _get_values(values, skipna, fill_value, fill_value_typ, isfinite, copy)
    178     values = _values_from_object(values)
    179     if isfinite:
--> 180         mask = _isfinite(values)
    181     else:
    182         mask = isnull(values)

/Users/jakevdp/anaconda/envs/python3.4/lib/python3.4/site-packages/pandas/core/nanops.py in _isfinite(values)
    221             is_integer_dtype(values) or is_bool_dtype(values)):
    222         return ~np.isfinite(values)
--> 223     return ~np.isfinite(values.astype('float64'))
    224 
    225 

ValueError: could not convert string to float: 'Z'
```

This surprised me because it works without a problem in numpy:

```
>>> arr = np.array(list('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
>>> arr.argmax()
25
```

It seems that pandas `idxmax` implementation implicitly assumes numerical types.
