Updates for PR #999 - Window functions with arguments

- Move specification of argument channels to window function construction
- Split commit into one that adds the feature and one that adds the functions
- Simplify `first_value` and `last_value` by writing the value directly from the input pages index
- Add `nth_value` function