Make DataFrame.dtypes return Categorical
I found myself wanting to check if `df.dtypes` contained any integer dtypes.  The intuitive usage would be:

```
df.dtypes.kind == 'i'
```

There are easy workarounds for this, but it would be convenient if `df.dtypes` returned a Categorical so this could be made to work.

