campaigns: add changeset text search
Created by: LawnGnome
This adds text search for changesets in campaigns. Currently, it supports titles (useful for imported changesets, no so much for created ones) and repo names.
The text search is using our internal parser package to parse the search. This means that we already have support for quoted substrings and negation essentially for free, and it means that there's a very obvious entry point to add filtering fields and wire up the filter dropdowns when we decide it's time for that.
Closes #15781.