Combined, rebased and modified original XPC patches.
- https://reviews.llvm.org/D48559 [clangd] refactoring for XPC transport layer [NFCI]
- https://reviews.llvm.org/D48560 [clangd] JSON <-> XPC conversions
- https://reviews.llvm.org/D48562 [clangd] XPC transport layer
- Rebased on TOT.
- Made changes according to review.
Couple of questions are still open in reviews of original patches and more importantly the discussion about transport abstraction just started:
https://reviews.llvm.org/D48559#1167340
https://reviews.llvm.org/D49389
I thought it would be useful to have current state of our original approach online as it will be foundation for our implementation anyway (implementing whatever interface we converge to).