[streaming] Introduced a new invokable to allow flexible windowing based on trigger and eviction policies. Additionally created all required policy interfaces.
[streaming] Added interface for policy helpers. Such helpers will allow to use policy based windowing through a simpler API.
[streaming] Created trigger and eviction policies based on element counters. Included respective policy helper and test cases.
[streaming] Introduced extractor interface to enable flexible handling of arbitrary input data types.
[streaming] Created active trigger and eviction policies based on time. Included respective policy helper and test cases.
[streaming] Added extractor implementations for various extractions and conversions. (incl. test cases)
[streaming] Created trigger and eviction policies based on data punctuation. (incl. test cases)
[streaming] Created tumbling eviction policy. This policy evicts always all tuples after a trigger occurred. It can be used to prevent doubled computation between trigger and eviction policies whenever tumbling windows are used. (includes test case)
[streaming] Created trigger and eviction policies which calculate a delta between two data points using a given delta function. The policies evict/trigger in case the delta is higher than a specified threshold. (incl. test case and the interface for delta functions)
[streaming] Added abstract class ExtractionAwareDeltaFunction to enable easy extraction of data in pre-defined delta functions.
[streaming] Added cosine distance and Euclidean distance as examples for possible delta function implementations. Test cases are included as well.
[streaming] Added policy helper for delta policies to provide a simpler API for such policies.
[streaming] Created ActiveEvictionPolicyWrapper. This eviction policy wrappes around a non-active policy and makes it active by forwarding notification on fake elements to the regular notification method.
[streaming] Integrated the policy based windowing into DataStream and introduced WindowedDataStream to handle windowing helper.
[streaming] Added test cases for the policy based windowing invokable.
[streaming] Created several examples for the usage of policy based windowing.

[streaming] Fixed windowing examples by removing manual setting of source parallelism
[streaming] Extended streaming guide with a section about the new policy based windowing.
[streaming] Introduced grouped windowing invokable, added required cloneable policy interfaces, and adjusted existing windowing invokable to make it usable together with the new grouped windowing invokable.
[streaming] Make all predefined policies cloneable and introduce an activating wrapper for cloneable eviction policies
[streaming] Adding unit tests for the grouped windowing invokable.