Provide 'Rolling' data structures
In our project Zipline, https://github.com/quantopian/zipline/, we consume time series data one bar at a time. We provide support for calculations that are performed over a fixed length, e.g. over the last 15 days of data. The data which those calculations are performed over are updated with the most recent bar as it comes in.

Instead of creating a fresh Panel on each bar and reindexing all of the data into the underlying data storage, @wesm helped us with a RollingPanel object, https://github.com/quantopian/zipline/blob/2492feb938c21f7577e6c05fa8cd7bfd57863d25/zipline/utils/data.py

The RollingPanel is working well for our purposes, and we'd like to upstream it to make the behavior available to all users of **pandas**.

There are a couple idionsyncratic to our codebase parameters that would need to be generalized.
e.g.:
- the use `sids` would need to be a more general `minor_axis` parameter.
- the `dtype` of the index buffer would also need to be more general, where the version in Zipline is tuned/hard code for being a `pd.DatetimeIndex` in UTC. 

@wesm mentioned that instead of a rolling version `pd.Panel` it may make more sense to start a rolling version of a `NDFrame`.

(And then I assume have a `RollingPanel`, `RollingSeries`, etc. that use `RollingNDFrame` instead of `NDFrame`, though that level of the API design I am not sure I am qualified to speak to as of yet.)

attn: @jreback, I believe this is under your purview?

If the idea passes muster, what would be a good next step for getting the rolling behavior into pandas?
(Or has there been work on a `RollingNDFrame` started already, that I could help pitch in on?)
