Add Chord windowing reducer logic and tests

Opening this up for PR as part of the "one PR-ish a day" strategy (which is a good idea). This is a tricky little bit of logic and is worth reviewing on its own. I've made the change such that it currently doesn't affect production, as we require chord-squash (unfortunately).

/cc @raronson be good to get your eyes on this one as well.
This possible is related to #361, but it looks a bit odd to only filtering dates `>=`, I understand we are not handling the dates before yet, but shouldn't there be an upper bound check somewhere as well, given that there may be overlapping entities with different upper bounds.