bluez: Ensure to yield until OBEX transfers have completed

It was possible for the code to not yield on an in-progress transfer if
the transfer_status was initially non-null (e.g. ‘queued’). This change
ensures that the transfer is yielded on if the status isn’t ‘complete’
or ‘error’. The yield callback is only invoked once the status has
changed to ‘complete’ or ‘error’, so the code is now guaranteed to not
hit the assert_not_reached() call.

https://bugzilla.gnome.org/show_bug.cgi?id=733891