campaigns: Support changeset filtering
Created by: ryanslade
This adds support for filtering by State, ReviewState and CheckState
The columns are updated when we sync or receive a webhook as these are the moment we get input about external state.
We may need to add a new enum value, UNKNOWN
to each of the GraphQL enums so that we can filter to display those states.
The migration adds new columns and types but leaves state as UNKNOWN
until next sync or webhook. I think this is fine considering we don't have any customers with large numbers of changesets.
I'll update the resolvers to use the new columns in another PR.
Part of: https://github.com/sourcegraph/sourcegraph/issues/8462