lsif-typed: Update base protocol
Created by: efritz
Adding rough documentation (generated from the protoc definition) and a first pass of large alterations for initial use of the protocol. These types of "change the world" changes may happen once or twice as we're in the early stages, and later changes should be much smaller in scope (and backwards-compatible once we've reached a confidence level we can lock down).