In strict access-control mode, extend the checks made in the
general-query to handle items being checked (not just returned).

That is, in the general-query, when in strict access-control mode,
also add the access-check SQL when the where clause contains checks
using collection or data-object information.

The strict mode for access-control is when the core rule 'acAclPolicy'
is set to call 'msiAclPolicy("STRICT")'.  See core.re for a
description.  Default is not strict.

The previous strict-mode logic in the general-query code would add
access checks if columns in R_DATA_MAIN or R_COLLECTION_MAIN were
being returned.  This worked fine for queries done, for example, by
'ils' and many other internal general-queries, and many forms done by
users via 'iquest', 'imeta' and micro-services.

But, without the changes in this commit, users could find out if a 
data-object exists by name via queries like these:
  iquest "select USER_NAME where DATA_NAME = 'myfile'"

With this addition, queries like these, in strict mode, will return
only rows to which the user has read access.

This was noticed by Reagan in one of the classes he teaches.



git-svn-id: svn://irodssvn.ucsd.edu/trunk@5428 ea137bd6-aa86-47b6-b90d-b101d9f19a90