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
It is a Secor coding convention not to extract config values in the constructor but rather call config.getX() where appropriate. There may be a small performance penalty of this approach but I prefer it due to reduction of the number of object variables.