Redo 143 Support custom timestamp field name in KafkaAvroMessageDecoder

@HenryCaiHaiying , please review this PR, thanks for your time!
Instead of have this new custom timestamp field at the beginning, can we merge that into the existing flow?  E.g.

if (header != null && header.get("time") != null) {
} else if (super.getRecord().get(timestampField) != null) {  // remember timestampField defaults to 'timestamp'
  // do your logic parsing different formats here.
} else {
    eturn System.currentTimeMillis();
}