Augmented updateStateByKey API

Augment updateStateByKey API by exposing both key and current batch timestamp to applications.
I will check how I can clean it up a bit.

On a high level, our application process values differently for different key and timestamps.
1) We have some ID in the key, and different ID will be treated differently. 
2) We need timestamp to decide if we are going to keep the state or drop it.