Support date partitioning with JSON data.

Commit message says it all.

I also updated the Thrift code to support fields other than `timestamp`.

CC @pgarbacki @andykram
You should return 0 here. One of the fundamental Secor design assumptions is that the logic computing partitions is idempotent. Only then you can guarantee no message duplicates in the Secor output.