Fix the bug where handles would remain open after a USB connection
* Change bufclose and close_handle so that they return true (nonzero) on
success and false on failure. This is to be consistent with the fact that
the default reply for a queue message is 0.
* Make clear_track_info() return a boolean too, and make it erase the track
info struct only on success of all the bufclose calls. That way we can
try closing them again later.
* Call audio_release_tracks on USB disconnect, to ensure proper closing
of all handles.