codeintel: Batch range requests in bundle manager database
Created by: efritz
The initial ranges method just called out to definitions/references/hover methods for every range in the window. This works, but re-requests the same document and result chunks hundreds of times.
This reorganizes some of the queries so that we can only pull back the things we need once per request. This doesn't have a big impact on performance (since we were caching the results before), but it does decrease the number of spans we're sending/logging by quite a bit (I was seeing traces with thousands of spans).
This also sets us up for being able to request multiple things from SQLite later, if that turns out to be beneficial.