Slow DataFrame column data access
The simplest way to access underlying data (ndarray) for dataframe column is `df['column_name'].values`. But it is so slow, that special cache is used for it:

``` python
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(np.zeroes((1000, 5)), columns=list('abcde'))
>>> %timeit df['a'].values; df._item_cache = {}
10000 loops, best of 3: 73.1 µs per loop
```

For regular non-sparse array this should approach:

``` python
>>> %cpaste
def get_col_values(df, name):
    i = df.columns.get_loc(name)
    bm = df._data
    return bm.blocks[bm._blknos[i]].iget(bm._blklocs[i])
>>> %timeit get_col_values(df, 'a')
100000 loops, best of 3: 4.67 µs per loop
```
