This lets the BLE stack run through the wait period after a VM run when it may be waiting for more writes due to an auto-reload. User BLE functionality will have their events stopped. Scanning and advertising is also stopped.
This allows you to connect to GATT services on the other device. It also adds connection initiation (GAP central). More progress on #5926
Services and characteristics still won't work. Progress on #5926
Everything else should raise NotImplementedError. First step in #5926