Advertising was started when the BLE server came up and never stopped, so a
device that auto-loads esp32_ble_server for esp32_improv advertised over BLE
forever - even with WiFi connected and Improv never started.
Components now request advertising with advertising_start() and release it
with advertising_stop(); the radio only advertises while at least one request
is held. The BLE server only requests it when the configuration defines
services or manufacturer data of its own, Improv holds a request for as long
as provisioning is possible, and a beacon holds one permanently.
Fixes https://github.com/esphome/esphome/issues/18938