modify usage output info
move report and log classes in separate files
split log and outputclass

log no more inherit outputclass
make a singleton from Log

* change Log class structure
* remove unnecessary ad.AppLog passes in functions
* change calls from ad.AppLog to Log.Instance
improve Log singleton

* delete close method as we can't destroy singleton
* add flush call to streamwriter to prevent incomplete file writing
split outputclass with report, delete outputclass
modify report to be static class with static method generate

* remove Record using from AppData class as it is static now
* AppData.Close() is useless now as we have not any open stream we can
close
* move report initialization check into report.generate() function
decompose AppData class and delete it
extract Report.Generate() call from AppDataProcessors

add RecordData class to implode
AppDataProcessors.reportFileGroupRecordContainer() output
refactor AppDataProcessors

public functions starts with upper case
refactor InputClass

correct class modifiers