Places search query improvements

Provide better search results based on boosting some query fields.

Rather than doing a query on a "catch all" fts field, do a query on different fields (name, alternative names, type name, tags, taught courses names...) with a configurable weight for every individual field. Also search in identifiers if the query is a single word.

This is configured with some fairly arbitrary weighting values and it should be tweaked in the future, based on the careful monitoring that we will do...

This is also opening the door to future work on dynamically choosing which fields should be used in the query (e.g. also search in library subjects)...