Can speed of shift() improved ?
I cprofile my python code and found 'shift()' is one of the speed bottleneck.

Then I do below test :

In [27]: df = DataFrame(np.random.randn(50000, 10))

In [28]: timeit df.shift(1)
10 loops, best of 3: 19.7 ms per loop

In [29]: df = DataFrame(np.random.randn(50000, 100))

In [30]: timeit df.shift(1)
1 loops, best of 3: 208 ms per loop

I found the time spent on 'df.shift(1)' is in proportion to len(df.columns) .  Can it be improved ?  For all columns share same index, why not shift all columns in a batch (instead of one by one column ?)  
