Log the fact that an error occured during linking.
Use json encoding for all compiler output logs, in order to get single line content.
Add the temp compiler folder in the compiler config struct.
Use compiler config array to make logging more verbose.

- Use the compilation temp folder name to distinguish logs for concurrent compiles.
- Pass the compiler config to clang output cleanup function in order to use the
  core directory names when parsing the output.
Remove 'clang_diff' from return array. Always log the project filenames and libs.
Do the filename logging before step 4 of compilation.