LanguageServerProtocol
Shuffle a few types around so that the `LanguageServerProtocol` has no more dependencies. Fixes #938 rdar://117565087