Implement new annotation @RequiresTimeSortedInput for stateful DoFn as described in design document. First implementation will assume that:
- time is defined by timestamp in associated WindowedValue
- allowed lateness is explicitly zero and all late elements are dropped (due to being out of order)
The above properties are considered temporary and will be resolved by subsequent extensions (backwards compatible).