Remerge fixes for Bug 476, Bug 1895, Bug 2149, Bug 2049, Bug 2509 and Bug 2539
LET = LEave Test-frameworkfl: a cpp filelistfl (dir1)?let: main testframeworklet -f cpp_file_list -o log_dirlet --std-in -o log_dirlogdiff: print the changes between to log dirlogdiff log_dir_1 log_dir_2