[server] Redesign the class structure of DataQueryOption and the related classes.

Previously DataQueryOption inherits OperationPrivilege that is
normally not changed in a query. However, DataQueryOption and
the subclasses may be created and used sometimes in a query.

So the new architecture shares information about a privilege
to improve performance. Therefore, 'is-a' relationship is
changed to 'has-a'.