feat(server): server side book component search
Adds "searchBookComponents" graphql query which supports "search" field which runs "containsAny" on:
- BookComponent.title
- BookComponent.metadata.sub_title
- BookComponent.metadata.filename
- BookComponent.alias (bcms id) Adds "BookComponentOutput" to book component graphql. Adds "containsAny" "OperatorInput" option to common graphql.
Refactors "SearchService" constructor so that it can optionally be passed a pre-filtered query instead of a model.
Fixes error in "SearchService" handling of "or" conditions.
Related to #1534 (closed)