WIP - Adding Variant Searcher

This is a continuation of #4662 that updates it to target master rather than 2-2-stable as we don't want to introduce this into stable branches.