Fix that #pluck wasn't rescuing ThrowResult, meaning it would blow up when failing to construct_limited_ids_condition.
Add coverage for the fact that pluck without an argument returns all the table's columns.
No point in memoizing a simple literal string.
Make NullRelation a bit more like a real relation by returning 0 for #calculate(:count)
Rather than raising ThrowResult when construct_limited_ids_conditions comes up empty, set the relation to NullRelation and rely on its results.

This will help avoid errors like 2fcafee250ee2, because in most cases NullRelation will do the right thing. Minor bonus is avoiding the use of exceptions for flow control.
Merge pull request #10561 from Empact/nix-throwresult

Rather than raising ThrowResult when construct_limited_ids_conditions comes up empty, set the relation to NullRelation and rely on its results.