EXCLUDE for window functions and range as table in-out function in DuckDB

DuckDB is an open source in-process SQL OLAP database management system and comes with a variety of SQL features. However, their implementation of window function lacks EXCLUDE clauses. This project aims to add this functionality to DuckDB, and ideally have them merged.
Original GitHub pull request #8311 and final pull request #9220 in joint work with other DuckDB collaborators.

Furthermore, generate_series and range functions are implemented in an unusual way in DuckDB. Another objective of this project was reimplementing unnesting and range functions as table in-out functions.
GitHub pull request #7522.

This project requires knowledge of C++ development as well as knowledge of database systems internals (i.e., as discussed in our DuckDB seminar).