Main.java:
Addressing TODO: can we decrease code duplication between the
runReportViewer and updateReportViewer methods? [Freek]
Splitted common code in intuitive functions
normalizePreferredRootDirectory(),
setProgressLogReaderAndRunningMsrunName() and
startProgressLogFileMonitor(). 
Reorganized runReportViewer() and updateReportViewer(). 

ReportReader.java: 
Added few constant strings for logging messages.