play nice with Flask-SqlAlchemy's query object

The use of `model.query` when initializing the _QueryProxy object triggers the creation of a session that will never get destroyed.

Instead, this change overrides the query object for the model that has full text search capabilities via the default `query_class` mechanism documented by the Flask-SqlAlchemy extension.