Add automatic formatting with clang-format
This commit introduces a configuration file named .clang-format, which contains our configuration for automatically formatting code.
Documentation for clang-format settings can be found at https://clang.llvm.org/docs/ClangFormatStyleOptions.html