A complete rework of bluetooth code.
Testing is actually more important than review here. So, I definitely would appreciate if you test it. Especially DUN (*). I tested my phone, but I am unable to get that to connect. I don't know what the issue is there (but current master also doesn't work). If you have a DUN device, it certainly would be great if you could give you a try. Especially, if master works for you!
(*) DUN support is blocked on Fedora by SELinux. Either ensure to run NetworkManager not under an SELinux context, or