Rolling panel data structure

This should be a good start for managing an iterative collection of DataFrames. Currently it's only:

- DatetimeIndex as the major axis of the panel (the index of each DataFrame)
- Fairly unsafe if the user might persist panels between calls to `get_current`

The performance on a pretty vanilla example (collection of 20 x 5 DataFrames, window size 100, 200 total periods) should be compelling. This is the time to construct the panels at each window for the full sample:

```
In [4]: %time f(option='naive')
CPU times: user 3.52 s, sys: 0.01 s, total: 3.53 s
Wall time: 3.52 s

In [5]: timeit f(option='clever')
10 loops, best of 3: 40.9 ms per loop
```

I think this is a good general strategy. Could be generalized for heterogeneous panels etc. if you wanted. 

EDIT A bit more color on performance. Doing 500 periods now and adding a panel-copy at each iteration if you want users to be able to mutate the panel to their heart's content:

```
In [3]: timeit f()
10 loops, best of 3: 99.2 ms per loop

In [4]: timeit f(copy=True)
10 loops, best of 3: 121 ms per loop

In [5]: %time f(option='naive')
CPU times: user 11.04 s, sys: 0.02 s, total: 11.06 s
Wall time: 11.10 s
```

So the copy overhead is fairly minimal but makes sense to be able to disable it if you want to squeeze out every drop of performance in some internal computation.