ETL-2022:  Make sure the daily-sweeper can sweep through all service events

Currently camus-daily-sweeper cannot loop through all events because the avro files from hourly has avro schemas generated from avro-1.4 which allows (-, @, ' ') in field names but avro 1.7 (which daily job was using) is much strict in field names.  Ask the producer to change all those field names is going to be a long migration process.

Fortunately, avro-1.7 parser does allow skip-the-name-validation if you this flag.  The problem is we don't control all the places in jobLauncher/MapTask/ReduceTask where the parser is created.

I took a look at the source code for MapTask and ReduceTask and added a few subclasses from AvroSerialization which knows to set the skip-name-validation flag.

This behavior is now controlled by conf property:
    camus.sweeper.skip.name.validation=true
If we don't want this behavior, we can turn off this flag (which is the default)
Fix the issue log4j logging for camus-daily doesn't work when running inside Azkaban.

The problem is azkaban JavaJobRunnerMain will close all appenders on root logger on its startup.

Re-arrange the log4j file to have two appenders.

So the Console appender might be closed when running inside
Azkaban but CamusConsole will remain.
Merge pull request #99 from henrylinkedin/master

Make camus-daily-sweeper able to parse the schema generated from avro-1.4 (from hourly/ files)