### Context
With https://github.com/elastic/elasticsearch/pull/95775, enterprise search adds the `behavioral_analytics-events-final_pipeline` lazily only when the data stream is created. This contradicts a validation that is about to be added within https://github.com/elastic/elasticsearch/pull/95782, which does not allow to install an index template if it refers to a non-existing `default_pipeline` or `final_pipeline`.

As agreed with @jimczi, we will disable `EnterpriseSearchRestIT` for now, so that it doesn't block https://github.com/elastic/elasticsearch/pull/95782 and figure out how to handle that later on.

One optional solution we discussed is changing [`behavioral_analytics-events-final_pipeline`](https://github.com/elastic/elasticsearch/blob/f02e9f9c0ad03ff874368cc24f0e287fe43953b2/x-pack/plugin/core/src/main/resources/org/elasticsearch/xpack/entsearch/analytics/behavioral_analytics-events-final_pipeline.json) to contain:
```
{
  "processors": [
    {
      "pipeline" : {
        "name": "lazily-added",
        "ignore_missing_pipeline": true,
        "description": "The actual pipeline, which is installed lazily"
      }
    }
  ]
}
```
and install the `lazily-added` upon the proper trigger (data stream creation or other).

Note that while this will prevent dependency-related errors, it may still imply there is an undesirable race condition between the installation of the ingest pipeline and the referring index template.


### CI Link

https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+pull-request+part-2/33583/console

### Repro line

./gradlew ':x-pack:plugin:ent-search:qa:rest:yamlRestTest' --tests "org.elasticsearch.xpack.entsearch.EnterpriseSearchRestIT.test {p0=entsearch/80_behavioral_analytics_delete/Delete Analytics Collection - Analytics Collection does not exist}" -Dtests.seed=714C8C6B612820A4

### Does it reproduce?

Yes

### Applicable branches

eyalkoren:ingest-pipeline-registry

### Failure history

_No response_

### Failure excerpt

```
"type" : "status_exception",
"reason" : "error while creating analytics collection [my-test-analytics-collection]", 
"caused_by" : { 
"type" : "illegal_argument_exception", 
"reason" : "no matching index template found for data stream [behavioral_analytics-events-my-test-analytics-collection]", 
"stack_trace" : "java.lang.IllegalArgumentException: no matching index template found for data stream [behavioral_analytics-events-my-test-analytics-collection] |  
  | at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.cluster.metadata.MetadataCreateDataStreamService.lookupTemplateForDataStream(MetadataCreateDataStreamService.java:307) |  
  | at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.cluster.metadata.MetadataCreateDataStreamService.createDataStream(MetadataCreateDataStreamService.java:221) |  
  | at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.cluster.metadata.MetadataCreateDataStreamService.createDataStream(MetadataCreateDataStreamService.java:168) |  
...
```

x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/analytics/ingest/AnalyticsEventEmitter.java
}
    /**
     * Emits an analytics event to be persisted by bulk processor.
     *
     * @param request the request containing the analytics event data
     * @param listener the listener to call once the event has been emitted
     */
    public void emitEvent(
        final PostAnalyticsEventAction.Request request,
        final ActionListener<PostAnalyticsEventAction.Response> listener
    ) {
        try {
            AnalyticsEvent event = eventFactory.fromRequest(request);
            IndexRequest eventIndexRequest = createIndexRequest(event);
            bulkProcessor.add(eventIndexRequest);
            if (dropEvent.compareAndSet(true, false)) {
                logger.warn("Bulk processor has been flushed. Accepting new events again.");
            }
            if (request.isDebug()) {
                listener.onResponse(new PostAnalyticsEventAction.DebugResponse(true, event));
            } else {
                listener.onResponse(PostAnalyticsEventAction.Response.ACCEPTED);
            }
        } catch (IOException e) {
            listener.onFailure(new ElasticsearchException("Unable to parse the event.", e));
        } catch (EsRejectedExecutionException e) {
            listener.onFailure(
                new ElasticsearchStatusException("Unable to add the event: too many requests.", RestStatus.TOO_MANY_REQUESTS)
            );
            if (dropEvent.compareAndSet(false, true)) {