Support snapshot windows

Well no reason you didn't look at it Mark - I never created the PR. Apologies.

This will potentially be copying more bytes then needed because [BytesWritable.getBytes](http://hadoop.apache.org/docs/r2.3.0/api/org/apache/hadoop/io/BytesWritable.html#getBytes%28%29) returns the byte array backing the `BytesWritable` and not the exact bytes. If you use `next.getLength` instead of `bytes.length` then it will be fine.