ISPN-3620 Move the programmatic search mappings required by remote query out of query module ModuleLifecycle

* Introduce ProgrammaticSearchMappingProvider, used by query module's lifecycle callbacks to load and execute SearchMapping customizations provided by other modules (or user code)
* Implement the registration of custom field bridges used by remote query module as a ProgrammaticSearchMappingProvider