[Improvement] add a way to stop an ongoing discovery
Currently all discovery functions have an implicit timeout of 60s by default... The problem is that when I start a discovery (via obt or normal api), I pass a data pointer. However I do not know when to free it since I do not have any way to either stop an ongoing discovery or be notified that the discovery process finished.
Looking at the code, it seems easier to just let the user handle the timeout itself and add a stop function (that will just call free_discovery_cb() for obt for example) and remove the hardcoded timeout altogether.
This may require an api breakage :(