Redo 143 Support custom timestamp field name in KafkaAvroMessageDecoder

@HenryCaiHaiying , please review this PR, thanks for your time!
Those constants should be defined in superclass: MessageDecoder, it would be weird for KafkaAvroDecoder to depend on JsonDecoder.