(#9051) de-ActiveRecord-ify Collection expressions.
The original collection expressions built the ActiveRecord level SQL query
directly during AST evaluation, then returned that up to the collection and
ended up injecting it directly into the SQL query in the end.
Now that we have an abstract terminus for performing the query, it makes sense
to have an abstract definition of the query. Instead of SQL as a string the
collexpr AST entity now returns a data structure containing the desired
filter.
This allows the individual terminus to transform that into the appropriate
query expression for their data store, or otherwise evaluate the requested
filter on their own.
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>