The diff adds a library and header for clangd main function. That change allows to create custom builds for clangd outside the main LLVM repo. The diff also allows to use build system different from CMake to build clangd. The main reason for such change is an ability to use custom clang-tidy modules (created outside LLVM repo).
Test Plan:
ninja clangd
also check that necessary libs are installed aka
ninja install ... ls <install folder>/lib/libclangdMain.a
we should move this into clangdMain target now