PERF: optimize __getitem__ in DataFrame for columns lookup

add as a vbench as well

0.12

```
In [13]: df2 = DataFrame(randn(1000,1),columns=['A'])

In [14]: def h():
   ....:         for i in xrange(10000):
   ....:                 df2['A']
   ....:         

In [15]: %timeit h()
10 loops, best of 3: 39.5 ms per loop
```

with PR
```
In [2]: def h():
   ...:         for i in xrange(10000):
   ...:                 df2['A']
   ...:         

In [3]: %timeit h()
10 loops, best of 3: 28.7 ms per loop
```