BUG: sorting of category dtypes
```
In [2]: df = pd.DataFrame({'A' : pd.Series(list('aabc')).astype('category'), 'B' : range(4)})

In [3]: df
Out[3]:
   A  B
0  a  0
1  a  1
2  b  2
3  c  3

In [4]: df.dtypes
Out[4]:
A    category
B       int32
dtype: object

In [5]: df.dtypes.value_counts()
Out[5]:
category    1
int32       1
dtype: int64

In [6]: df.dtypes.value_counts().sort_index()

TypeError: data type not understood
```

I think the dtype itself is missing a comparison operator, it can effectively be stringified though
e.g. 

```
In [9]: sorted(df.dtypes.value_counts().index, key=lambda x: str(x))
Out[9]: [category, dtype('int32')]
```

is fine

might be able to just define things like `__lt__` and friend and make this work.
