Window function to select all rows around certain values in a column
I think [this StackOverflow question](http://stackoverflow.com/q/24650117/1156707) illustrates both the premise and the problem quite well.  In short, it would be nice to have something like `df.window(df.somecolumn == 'ping', winsize=5)` which would return a subset of `df` such that for each row where `df.somecolumn=='ping'`, we select the 5 previous lines and five following lines.

This would be particularly useful for time-locking epochs to certain values (e.g. TTLs from some hardware).
