Use boost::variant to store our controller context instead of a union.
Pass the query context to the query builder.
Lint fix.