codeintel: Add tables for denormalizing nearest upload data
Created by: efritz
This PR adds new tables which will hold the data described by RFC 186.
- The table
lsif_nearest_uploads
denotes which uploads are visible for each commit within a repository and the number of commits between that commit and the commit where the upload is defined. - The table
lsif_uploads_visible_at_tip
will hold the set of uploads which are visible at the tip of the default branch for each repository. - The table
lsif_dirty_repositories
will mark repositories as "dirty" when they receive new upload data. The tables above will be refreshed periodically.
This is part of a larger effort towards https://github.com/sourcegraph/sourcegraph/issues/12098.