simulateBondRequest
Simulates bonding of the phone and the peripheral.
This simulates bond request from either of sides.
The bond state changes to MockBondState.Bonding and then, depending on the response of PeripheralSpecEventHandler.onBondRequest, to MockBondState.Bonded or back to MockBondState.None with the reason. The peripheral rejects bonding if it still has the bond information (peripheralHasBond) and the phone does not, or if it is not connectable.
When the bonding fails while the peripheral is connected, the phone terminates the link 3 seconds later, like Android does. The clients get Reason.TerminateLocalHost.
Does nothing if the peripheral is already bonded, or the bonding is in progress.