RocksDB based timers

Regardless of the state backend configuration, Flink timers are stored on-heap by default.

Timers can be user-defined or registered by the system for window operators. While heap based timers are very quick, they might require too large container sizes.

By setting the state-backend-rocksdb-timer-service-factory configuration property to ROCKSDB, Flink stores all timers in the state backend. This has a severe impact on timer performance, but also greatly reduces the heap consumption.