LSIF: Split server and worker
Created by: efritz
NOTE: 4700 lines are from an auto-generated json schema.
This implements the proposal from this RFC.
This splits the LSIF service into a server and a worker. They communicate via a queue in redis which will allow us to easily split the the two processes into different containers/pods. Eventually, we can scale the servers and workers independently as we learn more about scale and resource usage in production. For now, this is simply an architectural effort that will make scaling easier in the future.