[OPTIQ-292] Improve windowed aggregate return types

Windowed aggregate functions should be NOT NULL in several
common cases.
Reduce count(not null) to count()