This diff enables running clang-tidy at build time.
The checks are defined in the src/.clang-tidy file, and apply to every
subdirectories as well. For now, a single check is enabled to replace
boost::lexical_cast<std::string> with std::to_string (see
https://releases.llvm.org/8.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/boost-use-to-string.html).
This check should never trigger since D5136 removes
boost::lexical_cast, and our libraries are not using boost.
Depends on D5136.