Re-merge fixes for bugs 476, 1895, 2049, 2149, 2509 and 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