ENH: prototype data structure for managing a rolling datapanel

Manage a rolling window collection of collection of panels
for computation purposes.
ENH: Rewrite of batch_transform to use rolling panel.

- Added unittest to test for newly appearing sids.
- Fixed logic bug where window was only full after
  window_length+1 events got passed.
MAINT: Removed self.sids from batchtransform. Externally sets static_sids.
BUG: Ensure that window length value is sanity checked.

When moving BatchTransform off of EventWindow as a base object,
the checking of window length was lost, restore that check using
the same function as EventWindow.
BUG: Explicitly add support for refresh period of 0.

In the previous implementation of batch transform it happened
that a window_length of `0` caused the transform to update on every
bar, for the time being that behavior should be retained,
though the new rolling implementation more correctly aligns to the
term of 'period' so a period of 1 would achieve the same effect.
Merge batch transform and rolling panel enhancements.

Branch provides a rolling pandas data panel, and converts
batch transform to use the new panel type.