Preempts the GAP if it is not already preempted. Aborts all active GAP procedures and prevents new ones from being started. This function is used to ensure an idle GAP so that the controller's resolving list can be modified. When done accessing the resolving list, the caller must call `ble_gap_preempt_done()` to permit new GAP procedures. On preemption, all aborted GAP procedures are reported with a status or reason code of BLE_HS_EPREEMPTED. An attempt to initiate a new GAP procedure during preemption fails with a return code of BLE_HS_EPREEMPTED.