core.internals checking `hasattr(item, 'reindex_axis')`
`Block` and `SparseBlock` each have a `reindex_axis` method that is not used anywhere, _but_ a bunch of things in core.internals do a check of the form

```
if hasattr(new, 'reindex_axis'):
    new = new.values

if hasattr(mask, 'reindex_axis'):
     mask = mask.values
```

It would be nice to get rid of the unused methods.  Any idea what this ducktype checks are actually intending to catch?
